我正在从事两个图书馆项目。一个是c中的本机库,另一个是Java库,它使用JNI包装本机库中的函数。所以我总共有3个库:
我的问题只涉及项目2。为了编译项目2,我使用一个一次性运行cmake、javac和jar的脚本来生成一个jar文件。类别和。so文件。对于javac,我使用“-g”参数来生成调试信息。这对于非本机方法(如关键字“native”,而不是c-native)很好,但对于本机方法则不行。已编译。类文件也不包含正确的签名。这是相当令人沮丧的,因为当我在另一个java项目(项目3)中使用我的库时,我不知道根据助手弹出的IntelliJ显示填写什么。我的方法在Java中是这样的,在c中也是这样的。我能修好吗?
另外,您知道这样更改Java方法的签名的术语是什么吗?我尝试了几天来查找我的问题,但都找不到,所以我想知道我是否在Google中使用了错误的搜索短语。
提前感谢!
参数的名称似乎存储为“局部”变量,而本机方法没有填写该变量。你可以用一种小的“蹦床”方法来解决这个问题:
class Window {
public long create(int width, int height, String title) {
return native_create(width, height, title);
}
private native long native_create(int width, int height, String title);
}
这将导致以下javap输出:
public long create(int, int, java.lang.String);
descriptor: (IILjava/lang/String;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
0: aload_0
1: iload_1
2: iload_2
3: aload_3
4: invokevirtual #7 // Method native_create:(IILjava/lang/String;)J
7: lreturn
LineNumberTable:
line 4: 0
LocalVariableTable:
Start Length Slot Name Signature
0 8 0 this LWindow;
0 8 1 width I
0 8 2 height I
0 8 3 title Ljava/lang/String;
问题内容: MyPython IDE(pycharm)已停止自动完成My模块(建议)。我尝试导入的每个django模块之后都会得到未解析的引用,因此: -可以,但是一旦我添加一个“点”,它就会失败,因此给了我未解决的错误… 笨拙的事情是在编译引用后才起作用。 我发现My所有文件(所有地方)不再标记有python图标,现在是记事本图标。同样在My解释器中打开init文件会给出非彩色的标记文本(不突出
Eclipse不支持javaScript自动完成和代码高亮,不想使用像codemix这样的付费插件,tabIX有没有其他选择,而不使用其他Ide像Vscode ??
问题内容: 我想检查活动是否正在运行或完成。有什么方法可以检查活动状态? 我找到了,但是我不确定。 问题答案: 如果您想执行任何步骤,将变得不可见。 他们是这里的几种选择。 onDestroy() -进行最终清理。 isFinishing() - 调用后立即返回true。 onStop() -当被框架进程终止时。(未销毁) onPause() -当被其他覆盖 onBackPressed() -捕获
问题内容: 我希望能够自动完成姓名。 例如,如果我们有名字,我希望能够寻找并和获取文档回来。 另外,我不想匹配该文档。 我目前有这个分析仪: 问题在于,首先我们将文本分割开,然后使用edgengrams进行标记化。 结果是: 这意味着,如果我搜索或,则不会返回任何内容。 因此,我需要生成看起来像这样的令牌: 。 如何设置分析仪,以便生成这些额外的令牌? 问题答案: 我最终没有使用edgengram
问题内容: 知道OCAML / CAML IDE吗?特别是在Linux上运行的软件? 问题答案: Emacs处于Caml模式或Tuareg模式或TypeRex模式。TypeRex在emacs中为Taureg添加了自动补全功能- 对于喜欢更多图形化IDE的人来说,这是一个非常不错的功能。
我正在迁移从冰脸selectInputText到Primeface自动完成组件。 我将Primefaces 5.3.5与JSF 2.2.8结合使用。我在Icefaces 1.2中看到的自动完成结果与我的旧版本相同,但我没有看到用户详细信息。我在每行的第一个单元格中只看到数字0。 我不确定我的转换器看起来像什么 公共类AppUserConzer实现转换器{ } 我的自动完成组件的结果 你能告诉我我做