JNI初步
2016-05-03 22:12
141 查看
在使用JNI时遇到的几个问题
1.首先就是无法在cmd下使用javah命令,解决方法很简单就是使用set path=“c:\Program Files\Java\jdk1.6.0_01\bin” 设置一下系统命令集的路径。对于set classpath=“”是指定所用到的类文件的路径。
2.另外就是javah的使用问题,首先要cd到你的工程的目录,比如你的工程名叫test_JNI,你要先cd到test_JNI下,然后再javah -jni 包名.类名会在你的test_JNI下生成你想要的头文件。
3.在成功完成头文件的生成后,下一步就是用这个头文件编写我们的native函数的实现。这里选择使用vc++6.0环境。进入vc++6.0选择项目中的dll,然后为工程起个名字,注意这里工程的名字一定要和你在.java文件中引用的dll名称一致。将生成的头文件加到工程中,完成后就可以编写实现文件了。注意编译的时候一定要包含另个头文件,一个是<jnji.h>一个是<jni_md.h>文件,包含在jdk\include和jdk\include\win32中。具体操作就是tools-->options-->dir下设置一下编译路径就行了。
4.当成功生成.dll文件后,这个文件的存放位置还是一个问题,它只能被放在JVM属性值java.library.path中指定的文件中。可以使用System.getProperty("java.library.path")来查看。一般情况下,至少放在这几个位置是确定可靠的:windows安装目录下的system32下面JDK安装目录下的bin下面调用主类文件的当前目录。
1.首先就是无法在cmd下使用javah命令,解决方法很简单就是使用set path=“c:\Program Files\Java\jdk1.6.0_01\bin” 设置一下系统命令集的路径。对于set classpath=“”是指定所用到的类文件的路径。
2.另外就是javah的使用问题,首先要cd到你的工程的目录,比如你的工程名叫test_JNI,你要先cd到test_JNI下,然后再javah -jni 包名.类名会在你的test_JNI下生成你想要的头文件。
3.在成功完成头文件的生成后,下一步就是用这个头文件编写我们的native函数的实现。这里选择使用vc++6.0环境。进入vc++6.0选择项目中的dll,然后为工程起个名字,注意这里工程的名字一定要和你在.java文件中引用的dll名称一致。将生成的头文件加到工程中,完成后就可以编写实现文件了。注意编译的时候一定要包含另个头文件,一个是<jnji.h>一个是<jni_md.h>文件,包含在jdk\include和jdk\include\win32中。具体操作就是tools-->options-->dir下设置一下编译路径就行了。
4.当成功生成.dll文件后,这个文件的存放位置还是一个问题,它只能被放在JVM属性值java.library.path中指定的文件中。可以使用System.getProperty("java.library.path")来查看。一般情况下,至少放在这几个位置是确定可靠的:windows安装目录下的system32下面JDK安装目录下的bin下面调用主类文件的当前目录。
相关文章推荐
- 再谈JNI
- Redhat安装文件
- SQLServer 2005远程登录配置
- 动态配置数据源(DSN)
- SQLConfigDataSource()设置变量参数
- CString 字符串拆分
- 关于RichEditBox控件
- 思
- 目录浏览对话框和遍历文件夹
- Ajax
- 第十周作业
- 第七次作业
- redis底层数据结构之sds
- 流程再造、流程优化为供给侧改革提供信息化支撑服务的思路
- Problem H: 蚂蚁的最短行径
- 【leetcode】106. Construct Binary Tree from Inorder and Postorder Traversal
- 【接口测试】接口测试的自我修养
- POM详解
- HTML5----响应式(自适应)网页设计
- wince编程常用控制窗体API