jni

    -1热度

    1回答

    我正在使用的是使用C++从相机读取图像数据,并使用JNI让Java读取这些图像数据,并且使用Mac OSX。 我目前拥有的阻止程序是,我还没有找到任何方法在Mac OSX上的两种语言之间创建共享内存。 我可以想象我会使用一些缓冲区来这样做,任何人都可以提供一些提示和知识来解决这个问题吗? 预先感谢您!

    0热度

    2回答

    根据这file完全合格的类签名是Lfully-defined-class。 ex。 String - >Ljava/lang/string 用户定义的类怎么样?他们是否也被认为是完全定义的类? 例如,我创建了一个类Container。我可以使用"LContainer"作为签名吗?我知道我的其他代码工作时,我使用简单的字符串例如,但是当我用我自己的用户定义的类替换它,出于某种原因,我可能会丢失,它不

    0热度

    2回答

    总之,我一直在努力完成以下任务:我希望能够有效地管理很多(数十亿/他们不需要很长时间就能完成,但我是创建数组以进行高速处理,如果我不马上将东西传递给线程,数组变得非常大以至于导致段错误),这些线程在必要时将数据传递给JNI,并且需要存储在向量中。 我一直面临两个问题: 第一个是,如果我试图产卵比约45线程都同时运行JNI,Java的崩溃了。如果他们没有在同一时间运行,它可以正常工作,但我从GC得到

    1热度

    1回答

    我在Java程序中有两个类。 A类和B类。 B类包含一个将执行C++代码的本地函数。 据我所知,C++代码将运行在与Java代码相同的进程中。 我的问题是,如何限制C++代码访问Java内存并读取A类参数?

    0热度

    1回答

    我有一个通过JNI启动JVM的C++进程。 我知道我无法在销毁它之后初始化JVM。 (Create JVM after destroying it)如果这可以以任何方式完成,则不存在任何问题,因为我可以提供新的类路径并再次创建JVM。因此,破坏后无法创建JVM,而是在整个C++过程中保持它。 但我需要在运行时动态更新Java类路径,因为新的Java文件是通过我的C++进程创建和编译的。 有没有办法

    1热度

    1回答

    根据该link的参数,以便调用从本地Java方法(C++)代码JNI方法签名,所述的GetMethodID功能用于: “返回该方法ID一个类或接口的实例(非静态)方法。“ 考虑,作为一个例子,所述文件类的以下构造: public File(Uri uri) 对于此构造甲JNI方法签名是: “Ljava/IO/(Landroid.net.Uri;)V“ 但是,因为Uri是抽象类,是否有可能使用包

    -1热度

    1回答

    我们在Java中有一个服务,它使用JNI来调用用C++编写的方法。关于如何调用C++中的方法,我有几个问题。 1)任何人都可以简单地描述一下JNI体系结构是如何工作的(特别是当我调用C++方法时会发生什么?谁会执行这个方法?在方法返回后会发生什么?谁将分配内存给方法内存分配到哪里?RAM分配的内存如何释放,谁释放内存,内存何时释放)

    0热度

    1回答

    所有导游JNI我已经看到了(如JNI runtime linking)建议我联系我的JNI库对libjvm.so: $ gcc -I${JAVA_HOME}/include -c -o test.o test.c $ gcc -shared -o libtest.so test.o -L${JAVA_HOME}/jre/lib/i386/server -Wl,-rpath,${JAVA_HOME

    0热度

    1回答

    我试图本地函数链接到Java,但我得到这个错误 - > Error:(72) undefined reference to `ConvertYUV420SPToARGB8888HalfSize' > Error:(76) undefined reference to `ConvertYUV420SPToARGB8888' > Error:(95) undefined reference to

    0热度

    1回答

    我无法找到有关JNI如何适用于Android详细的详细说明任何引用下,所以: 由于每个Android应用程序在自己的进程中运行,用自己的实例Dalvik/ART虚拟机,我认为本机代码将在相同的过程中执行,对吗? 我读到,当VM调用一个函数时,它传递一个JNIEnv指针,jobject指针以及由Java方法声明的任何Java参数。 但是,这是如何在组装层面(引擎盖下)? 我读过,你可以使用JNIEn