草庐IT

check_jni

全部标签

java - 在 Mac 上安装 rJava 时遇到问题; JNI 数据类型的问题

已解决!!请参阅下面我的解决方案,以防这个问题在未来对其他人有所帮助。错误如标题所述,它对我来说失败了。当我尝试从R内部安装install.packages('rJava')时,我收到的错误是(之前进行了一些良好的检查):checkingwhetherJNIprogramscanbecompiled...yescheckingJNIdatatypes...configure:error:OneormoreJNItypesdifferfromthecorrespondingnativetype.Youmayneedtousenon-standardcompilerflagsoradiff

java - JNI。如何从 jobject 获取 jstring 并将其转换为 char*

这是我目前所拥有的:我传递了一个具有2个字段的对象:String和Integer,作为参数我想发送信息在C部分进行处理,这在这一点上并不重要......我在jstring声明中收到投诉JNIEXPORTjintJNICALLJava_Tier3_NativeMethods_totalPalletsIn(JNIEnv*env,jclasscls,jobjectstat){jclassstaticsitcs=(*env)->GetObjectClass(env,stat);//HereItrytogetitusingtheIDjfieldIDidDate=(*env)->GetFieldI

Java JNI - 是否可以从 C++ 在 Java 中设置单个原始数组元素

基本上,我一直在执行以下操作来检索Java实例字段(在本例中为int)并将其设置为新值,如下所示:jclasscls=env->GetObjectClass(obj);jfieldIDfid=env->GetFieldID(cls,"myVariable","I");env->SetIntField(obj,fid,(jint)2012);但是,我想对javaint数组中的单个int元素执行此操作,这样:jclasscls=env->GetObjectClass(obj);jfieldIDfid=env->GetFieldID(cls,"myVariableArray","[I");P

java - 位串 : checking if one bitstring is a subset of another

我将英文字母集表示为26位位串。第一位对应“a”,设置位对应“b”,依此类推。于是,字符串ab表示为11000000000000000000000000现在,给定两个位串,我想检查位串1是否是位串2的子集。也就是说,位串1在所有地方都有一个“1”,位串2也应该有一个“1”。这意味着string1中的所有字符也出现在string2中。有人可以告诉我执行此操作的最佳方法吗?我知道一个简单的方法如下:遍历bitstring1并检查bitstring2中的相应位。但是,我想知道是否可以使用一些位运算符以更有效的方式完成此操作 最佳答案 如果

java - 如何使用 JNI 实例化 Java 泛型?

如果我想实例化一个Date,我可以使用:jclasscls=(*env)->FindClass(env,"java/util/Date");jmethodIDctr=(*env)->GetMethodID(env,cls,"","()V");jobjectobj=(*env)->NewObject(env,cls,ctr);但是我如何实例化ArrayList? 最佳答案 同理。在VM级别,没有泛型。 关于java-如何使用JNI实例化Java泛型?,我们在StackOverflow上找到

java - JNI system.out 和 printf 行为

我正在编写一个程序,该程序使用JNI与一个简单的C程序进行交互。我创建了以下程序:publicstaticvoidmain(String[]args){Helloh=newHello();System.out.println("before");intnumber=h.sayHello();System.out.println(number);System.out.println("after");}和JNIEXPORTintJNICALLJava_Hello_sayHello(JNIEnv*env,jobjectobj){printf("HelloJNI\n");return10;}

java - 为什么异常被命名为checked和unchecked?

为什么Java中的两种异常类型分别命名为“checked”和“unchecked”?这些名称背后的原因是什么? 最佳答案 如果您调用的方法声明为抛出已检查异常(例如IOException),编译器将检查您是否你要么捕获它,要么声明你重新扔掉它。同样,为了首先抛出此类已检查异常,编译器检查您是否已将其声明为方法签名的一部分。基本上,它有点像类型检查,不同之处在于方法可以抛出哪些异常。编译器不会对未经检查的异常执行任何检查-因此它们可以由任何方法抛出,而无需方法声明它们。 关于java-为什

c# - 是否有等效于 C#'s ' checked' 关键字的 Java?

是的,这是一段微不足道的代码,但我仍然想知道是否有内置的替代品。代码如下:/***Castxtoint,throwanexceptionifthere'slossofinformation*/publicstaticintsafeLongToInt(longx){intresult=(int)x;if(result!=x)thrownewRuntimeException("longdoesn'tfitinanint:"+x);returnresult;}C#中的代码为:intfoo;longbar=...;checked{foo=bar;} 最佳答案

java - 使用 JNI 从 C 调用 java 代码时发生内存泄漏

我有一个C程序,它使用JNI在java存储中存储一些对象。(在有人问之前,这里需要使用javastore,我必须用C编写一个客户端,它能够从这个store添加和检索对象)。我编写了程序并尝试添加100000个大小为1KB的对象。但是在仅添加50000个对象后,我收到“内存不足”消息(请注意,每当我无法使用NewStringUTF和NewByteArray函数分配新的字符串或字节数组时,我都会打印这些“内存不足”消息)。那时我的应用程序只使用了80MB的内存。我不明白为什么这些方法返回NULL。有什么我想念的吗。此外,即使我正在释放为java创建的字节数组和字符串,内存也会继续增加。这是

java - 在哪里可以找到 Mac OS 的 jni 头文件

我不是问我在我自己的电脑上哪里可以找到它,我是问我在哪里可以得到它。我已经完成了我的谷歌作业,但我没有在这些路径中找到标题。我的/System/Library/Java/JavaVirtualMachines/...中甚至没有Header文件夹,而且我的根目录下也没有Developer文件夹。现在我很确定我没有安装这些header,我检查了MacOS开发者网站,但我只发现了一些损坏的链接。OpenJDK或SunJDK不应该在某处为MacOS提供jni.hheader吗? 最佳答案 /Applications/Xcode.app/Co