java-native-interface相关内容
我正在尝试通过JNI将数据库值传递给Java: __Android_LOG_Print(Android_LOG_ERROR,&Quot;MyApp";,";c_STRING>;>;%s";,cStringValue); 打印:c_STRING;>;>;👑👟👓 env->SetObjectField(jPosRec, myJniPosR
..
我有一个跨平台的Java应用程序,它依赖于一些本机(C++)库来调用执行复杂科学计算的函数。使用JNI(使用SWIG生成的粘合代码)访问本机库。这些库访问用于配置和定位各种数据表等的几个环境变量。 我希望我的Java应用程序能够设置这些环境变量,至少在JNI库的上下文中是这样。如果Java提供了一种在它自己的外壳/上下文中设置环境变量的方法,这会很容易,但它没有。 similar questio
..
我有混淆方面的问题。更好的想象力: Java代码 class JniTest... public void test() { //some code } public void runJniCode() { //here I call native code } 本机代码 JNIEXPORT void JNICALL Java_path_to_class_
..
我有一个用Java编写的布局设计,目前正在通过JNI移植到C++。在这一点上,我实际上已经完成了,但是我目前对于如何设置事件处理程序(例如setOnClickListener)感到困惑。我已经经历了the JNI specification,运气不太好。 如果有人能将下面的代码片段移植到C++或将我引向正确的方向(由于结果的代码量更合理),我将不胜感激。 public void
..
我是JNI新手。 我想将一个静电库(比如libfoo.a)链接到我正在创建的动态库。正在从我的Java类调用此动态库。 这可能吗?如果是,如何进行? gcc -I$JAVA_DIR/include -I$JAVA_DIR/include/linux -o libXY.so -shared jni/xy.c libFoo.a 推荐答案 Q:我想将一个静电库(比如说lib
..
我正在尝试使用C++代码运行Java程序。我尝试了以下代码 #include #include int main(int argc,
..
我正在开发一个基本应用程序,以创建 Java VM 并使用 JNI 从 C++ 启动 Java 程序.但是,我有一些编译错误: Error 6 error LNK2028: unresolved token (0A00000D) "extern "C" long __stdcall JNI_CreateJavaVM(struct JavaVM_ * *,void * *,void *)" (?J
..
..
我在我的 c++ 函数中获得了一个 float*,我需要将它转换为 jfloatArray 以返回我的 Java 代码. 如何将 float* 转换为 jfloatArray? 谢谢 解决方案 要将float*转换为jfloatArray,可以使用NewFloatArray, 您可以使用以下代码: 变量“数据"只是一个简单的例子,所以你可以使用你的代码. 另外,将
..
..
我正在尝试从 Java 调用 Haskell 代码,使用 JavaCPP 来帮助创建必要的 JNI绑定,正如 this question 中所述. 这就是我的使用方式: /javacpp.jar/build(图书馆的目的地)/src(包含 Haskell 代码)/com/example/HSCode.java(用于加载和使用本机库的 Java 类) HScode.java的内容: 包
..
我正在尝试在 Java 代码中调用 C 函数.我有这个哈瓦代码. 公共类 JavaToC {公共本机 void helloC();静止的 {System.loadLibrary("HelloWorld");}公共静态无效主要(字符串[]参数){新的 JavaToC().helloC();}} .我编译了它,然后创建了头文件.然后制作下面的 HelloWorld.c 文件. #include
..
我正在尝试在本机代码 C 中进行 aes 加密/解密.加密确实有效,但是当我尝试解密字符串时.它不会以原始字符串结尾.这是基于模式参数加密/解密的 JNI 方法: jbyteArray Java_com_example_hellojni_HelloJni_encrypt(JNIEnv* env,作业这个,jbyteArray srcData,金特模式){//获取字节长度int srcLen=(*
..
我已经设法构建了我的 JNI 库(jar、jni 共享的 cc_library、包装的 cc_library),但我不知道如何构建使用它的 Java 应用程序.我的 BUILD 很简单: java_binary(name = "OCFTestServer",srcs = glob(["src/main/java/**/*.java"]),deps = ["//:OpenOCF-JNI"]) 这
..
我需要在我的应用程序中运行比操作系统中的更新版本的 openssl.我能够修补和 android 源以编译更新版本,然后提取共享库以在我的应用程序中使用. 然后,我能够编译并链接我的本机代码,该代码仅需要较新版本的 openssl 中的函数与我的新共享库(较新的 openssl 的补丁有效). 我还能够创建一些按预期工作的 jni 函数,但只要我添加了仅在应用程序本地较新的 opens
..
..
..
..
我正在进行的项目是一个支持两个不同平台的 API.在运行时,类路径中实际上只有两个平台中的一个可用. 在大多数情况下,我很容易就能编写出这样运行良好的代码 if (isPlatformOne()) {PlatformOne.doSomething();} 即使 PlatformOne 在运行时不存在,预先检查也意味着代码不会运行,不会抛出错误.这种技术适用于 VAST 的大多数情况,但是
..
在尝试编译 C++ 代码以在 JAVA 端使用时,我似乎遇到了一个大问题.当我尝试做任何与 IO/Stream/Manipulation 相关的事情时,JVM 似乎崩溃了. 有时,就像我每 10 次运行应用程序时一样,JNI 100% 地处理所有 IO 内容.然后其他时间 JVM 崩溃或挂起. 我正在使用:Windows 10 x64、JAVA jdk1.8.0_102、Netbean
..