关于JNI中java调用本地dll的问题 提供一个思路:用自己的DLL调用其它的DLL,在自己的C++程序中调用导出的函数. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://expert.csdn.net/Expert/topic/1393/1393543.xml?temp=.9448969http://expert.csdn.net/Expert/topic/1575/1575274.xml?temp=.5570185 谢谢fenghui(麦克冯) ,期待你的回答。 我点太背了,正忙着解决这一问题,却发现爱机被植入了若干exe关联木马,常住内存,无法清除,憋了3天,只好重做系统,我痛 俺刚在那边答过的1,编写java程序2,将java程序编译成类文件(这两点都不用说的啦)3,产生jni风格的头文件javah -jni myNative.class生成mypackage_myNative.h文件4,实现本地方法eg:在vc++中新建win32 dynamic-link library(dll)项目dllNative,从头文件中得到本地方法的原形,用C编写本地方法。过和略(不同文件都 不同的)5,编译生成动态连接库文件将java中的include目录下的jni.h和jni_md.h两个文件拷贝到vc++的include目录(或同该项目同一目录)下,再将以上工程编译连接成动态连接库文件dllNative.dll。将该动态连接库文件拷贝到cNative.class同级目录下或system,system32目录下6,运行java程序 好了,基本和superszhu说的思路一致。利用jni流程生成的dll,将其作为一个中间层,再去调用需要的DLL,因为java不支持地址调用(指针),直接调用dll不现实,需要c或c++搭建中间层。 to fenghui:还是不懂!能否给个具体的简单代码例子? jni生成dll的过程正如Hodex(小何才露尖尖角)所说,在生成的dll文件中调用所需的dll中的函数,属于c调用c.给个网址吧:jni中文规范,97年的,作个参考http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/jni/spec/jniTOC.doc.html 怎样 在 下次 编译 程序时 不用输入 路径名啊!! 求救 模糊查询。 关于swing JOptionPane问题的一个疑问。 IOException编译通不过 用JAVA的Swing实现Html中的超链接问题?顺便散分... applet怎么样在不同的Panel上画图 求助:JSP 连接 数据库 出现问题 请问用Java2D实现画板放大,而每个Shape元素不放大? 简单的问题,出了点错,大家帮忙看下 一个项目暂给200分如可以的话要多少分给多少分 请问用Swing,有第三方提供给XML显示/编辑好的组件么? 如何在关闭一个窗体时打开另一个窗体
http://expert.csdn.net/Expert/topic/1575/1575274.xml?temp=.5570185
常住内存,无法清除,憋了3天,只好重做系统,我痛
1,编写java程序
2,将java程序编译成类文件(这两点都不用说的啦)
3,产生jni风格的头文件
javah -jni myNative.class
生成mypackage_myNative.h文件
4,实现本地方法
eg:在vc++中新建win32 dynamic-link library(dll)项目dllNative,
从头文件中得到本地方法的原形,用C编写本地方法。
过和略(不同文件都 不同的)
5,编译生成动态连接库文件
将java中的include目录下的jni.h和jni_md.h两个文件拷贝到vc++的include目录(或同该项目同一目录)下,再将以上工程编译连接成动态连接库文件dllNative.dll。将该动态连接库文件拷贝到cNative.class同级目录下或system,system32目录下
6,运行java程序
利用jni流程生成的dll,将其作为一个中间层,再去调用需要的DLL,
因为java不支持地址调用(指针),直接调用dll不现实,需要c或c++搭建中间层。
在生成的dll文件中调用所需的dll中的函数,属于c调用c.
给个网址吧:jni中文规范,97年的,作个参考
http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/jni/spec/jniTOC.doc.html