Java调用C++编写的动态库(JNI)
来源:互联网 发布:超级基因优化液毛球 编辑:程序博客网 时间:2024/06/06 12:43
1. 在eclipse里利用java创建一个类,在类中加入带有native的方法(eclipse创建的类会自动添加class在bin目录下)
2.利用javah命令生成本地方法的c++头文件。进入到工程bin目录下,按住shift,并右击,选择 “在此处打开命令窗口”,进入命令窗口;输入 “javah -classpath . -jni 包名加上类名”,在bin目录下生成包名_类名.h头文件
注:
有些博客上写直接“javah 包名加上类名 ”就可以,但我在做的过程中他显示找不到相关的类文件,暂时还不知道怎么回事
-classpath 用于装入类的路径
-jni 表示生成jni的头文件
3. 利用VS生成动态库(新建项目,后续选择dll)
4. 拷贝jdk–>include中的jni.h,jni_md.h,和利用javah生成的头文件这三个头文件到vs生成的项目中,这是出现了错误,头文件是复制到本地文件的,不是库文件了,要将<>改为“”。
5. 利用C/C++编写实现本地方法。
实现后生成dll动态库。
6. 将dll动态库拷贝到工程下(也可放到其他地方,我选择的是工程目录下),设置一下:
7. 编写测试类及进行测试
很幸运成功了,在这个过程中暂时没有出现问题,以后用的过程中出现问题后再补充。
补充:
JNI:Java Native Interface,是java提供的一种通用接口,用于java代码与本地化代码交互。
本地化代码,就是直接编译成语机器相关的二进制代码
阅读全文
0 0
- Java调用C/C++编写的动态连接库-JNI
- Java调用C++编写的动态库(JNI)
- JNI技术之Java调用C/C++编写的第三方dll-动态链接库
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- Java调用C/C++编写的第三方dll动态链接库(非native API)--- JNI
- JAVA JNI调用C编写的dll
- Java学习之通过JNI调用C/C++编写的dll链接库(图文教程)
- Java学习之通过JNI调用C/C++编写的dll链接库(图文教程)
- java(JNI)调用c/c++动态链接库 linux
- Java用JNI实现对用VC++编写的动态库的调用
- React Native 组件之Touchable*源码解析
- mongodb无法注册windows服务
- mybatis入门基础(五)----动态SQL
- SSL、TLS协议格式、HTTPS通信过程、RDP SSL通信过程
- 正则表达式验证用户名、密码、手机号码、身份证
- Java调用C++编写的动态库(JNI)
- 自定义欢迎界面跳过按钮
- Permutations(主要谈谈如何做全排列,组合等回溯的使用)
- ZOJ 3819 Average Score【水题】
- 端口号及分类
- 设置TextView滚动效果
- 深入理解Spark 2.1 Core (六):Standalone模式运行的原理与源码分析
- CSDN日报20170626——《我的程序探险之旅》
- JNI中的C回调java中的方法