java jni 调用c++库
来源:互联网 发布:淘宝企业店铺出售 编辑:程序博客网 时间:2024/06/08 18:21
1.先创建java项目
2.用javah命令生成c++头文件(com_xzazt_dll_HelloWorldDll.h)
打开项目所在的文件夹,打开src文件夹,按住shift键,鼠标点击右键-->在此处打开命令窗口
①编译java文件,生成.class文件
②用javah 生成c++头文件
注意:javah命令要在src目录下执行,不然会报错“找不到 com.xzazt.dll.HelloWorldDLL 的类文件”
3.vs2015开发c++库
打开vs2015-->文件-->新建-->项目
此处选择Win32项目或Win32 控制台应用程序都可以
再点击下一步
这里选择DLL,空项目,点击完成。
在解决方案中,点中helloworlddll右键-->在文件资源管理器中打开文件夹
将刚刚生成的.h文件复制进来
点击头文件右键-->添加-->现有项
选中复制c++头文件,点击添加
打开c++头文件,会发现有好些错误,下一步
点击helloworlddll右键-->属性
选择VC++目录-->包含目录-->编译
添加jdk中include和其下面的win32文件夹,点击确定-->确定
创建cpp文件:源文件-->添加-->新建项
选择C++文件,命名为helloworlddll.cpp,点击添加
在cpp文件中写入头部引入,将c++头文件中的方法复制过来,添加方法体
点击helloworlddll右键-->重新生成或生成
这时在资源文件管理中打开文件夹
再上一级文件夹
在Debug文件夹中就可以找到生成的DLL文件了
测试
将dll文件复制到jdk的bin目录中,名字改为和eclipse中的System.loadLibrary("hwDll");加载的名字一致
注意:
①:如果不想发在jdk中,也可以通过System.out.println(System.getProperty("java.library.path"));查看都有哪些路径可以使用
②:no hwDll in java.library.path:这是没有找到hwDll 库文件,可以通过①查看放哪里
③:E:\JDK\jdk1.7.0_45\bin\hwDll.dll: Can't find dependent libraries:这是缺少依赖的dll库文件
可以通过depends工具查看缺少哪些依赖的dll库,然后上网上下载就可以了,直接搜dll文件下载,有好些网站可以下载的,把下载的一样放到jdk中就行了,或者在java代码中透过System.load()加载dll文件(注意dll文件顺序不对也会报错的)
测试运行就可以了
- Java调用C JNI
- jni c调用java
- JNI java c 调用
- JNI C调用Java
- java通过jni调用c库
- JNI:JAVA调用C库方法
- Java JNI 调用c/cpp
- C语言调用Java JNI
- java JNI调用c程序
- JNI学习-C 调用Java
- JNI-->Java调用C语言
- JNI-->C调用Java语言
- Android JNI C调用Java
- jni - c 调用java方法
- jni 开发 c调用java
- java jni 调用C语言
- Java如何调用C/C (JNI)
- JAVA JNI 调用C/C++库提高运行效率 (图)
- windows server 2012将计算机图标添加到桌面
- 十二,iOS通讯录好友信息的获取
- c3p0
- java再复习——代码执行的大体流程与内存分析
- python的zip()函数
- java jni 调用c++库
- 将图片转为base64编码格式
- 统计python脚本中 shell命令输出文本的行数
- 状态码说明
- h5和chrome禁止页面缓存的方法
- Android demo-->自定义能实现一键删除功能的EditText
- elasticsearch控制match执行过程的低级查询处理规则
- asp.net web工程中的问题与解决方案
- 过滤器(Filter)、监听器(Listener)学习