java中jni的是调用
来源:互联网 发布:醉红楼聊天软件下载 编辑:程序博客网 时间:2024/05/29 06:30
Java中jni的是调用
首先咋java中生成native方法,运行一下:
然后使用dos命令移动到该项目的bin目录下:
在bin目录下执行javah包名+类名 (例子:javah com.test.test1)命令,(前提示jdk安装和java环境配置没有问题),然后就会在bin目录下生成一个c++头文件:
接下来打开Visual Studio2013,新建一个项目:
Next后勾上dll链接库,点击完成
将刚才使用javah命令生成的头文件导入到刚在vs建的项目中,同时也把jdk安装目录下的%JAVAHOME%->include->jni的c++头文件和%JAVAHOME%->include->win32->jni_md的c++头文件拷贝到刚在vs中建的项目中:
在vs中打开刚刚在追加的在java中javah生成的c++头文件将导入的<jni.h>头文件改为”jni.h”,应为这时候不是再到系统中去寻找这个jni.h:
在vs项目中新建一个c++源文件将java中的头文件导入进来,并将java中生成的头文件的JNIEXPORTvoidJNICALL Java_com_test_test1_sayhello(JNIEnv*,jobject);复制过来,修改一下,然后进行编译:(env和obj两个参数将在c++头文件中操作java中的类和属性,例如用jfieldID fid_msg = env->GetFieldID(env->GetObjectClass(j),"message", "Ljava/lang/String;");
jstring j_msg =(jstring)env->GetObjectField(obj, fid_msg);便可获取java类中的String类型的message属性,这样就实现了c++操作java的目的,更多东西不在此多说)
现在在vs项目的Debug文件夹下就生成了jnitet.dll链接库:我们这时候将这个路径添加到path环境变量下,然后重启eclipse
回到java端,编译一下,ok
- java中jni的是调用
- 《Android JNI》05 在JNI中调用Java的函数
- C++中调用jni是需要注意的问题
- JNI--Java中调用DLL
- java中如何使用JNI调用C++写的函数
- Android中简单的JNI使用,C++调用JAVA
- JNI(Java Native Interface)调用中考虑的问题
- HAL中通过jni调用java方法的问题
- cocos2d-x中使用JNI的调用JAVA方法
- 【JNI】C中调用JAVA的参数、方法
- java中jni调用不需要配置dll的处理代码
- JNI中C/C++调用JAVA类的方法
- 使用jni实现在Java中调用C++的方法
- Java中使用JNI调用本地动态库的方法
- JNI调用java的接口
- Java 对jni的调用
- [JNI]开发之旅(7)JNI函数中调用java对象的方法
- 用jni从C++中调用java
- Find Minimum in Rotated Sorted Array II
- DatePickerDialog取消调用回调方法onDateSet()确定调用两次
- 嵌入式Linux字符设备LED驱动-基于树莓派
- node.js下操作cookie
- android 性能测试iozone篇
- java中jni的是调用
- Git Rebase
- oracle 存储过程循环体中的return和exit区别:
- Android 百度地图API 定位 导航
- iOS多线程之 NSOperation和NSOpreationQueue的使用
- android 曲线图实例
- 嵌入式 vim全局替换命令
- Reverse Words in a String
- erlang shell初始化工作目录