当前位置: 技术问答>java相关
谁做过用jbuilder调dll?
来源: 互联网 发布时间:2015-04-20
本文导语: 虽然我知道如何用jni调用dll,但那是在命令行模式,而且我是用文本编译器来编写java程序的。但是,当在jbuilder里面调用时,调试通过,点击按钮时(调用dll中的函数),总是提示错误: Exception occurred during event di...
虽然我知道如何用jni调用dll,但那是在命令行模式,而且我是用文本编译器来编写java程序的。但是,当在jbuilder里面调用时,调试通过,点击按钮时(调用dll中的函数),总是提示错误:
Exception occurred during event dispatching:
java.lang.UnsatisfiedLinkError: GetFileNumber
其中GetFileNumber是dll中的函数
Exception occurred during event dispatching:
java.lang.UnsatisfiedLinkError: GetFileNumber
其中GetFileNumber是dll中的函数
|
对了,我想起来了。
好像是和你的DLL有关,以前我也遇到过。
有两个地方要注意:
1. 方法的导出,在VC(你是使用vc开发dll吗)工程中的*.def文件中加入
你的方法导出。
像我的是这样的:
; NativeCode.def : Declares the module parameters for the DLL.
LIBRARY "NativeCode"
DESCRIPTION 'NativeCode Windows Dynamic Link Library'
EXPORTS
; Explicit exports can go here
Java_edp_storageagent_StorageManager_initialize @1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 如果你的dll使支持mfc的,请在每个java native function中加入一段
如
JNIEXPORT void JNICALL Java_edp_storageagent_StorageManager_initialize
(JNIEnv *env, jclass o,jint maxThreadNum)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
your code;
}
请检查这些,看能不能解决问题。
好像是和你的DLL有关,以前我也遇到过。
有两个地方要注意:
1. 方法的导出,在VC(你是使用vc开发dll吗)工程中的*.def文件中加入
你的方法导出。
像我的是这样的:
; NativeCode.def : Declares the module parameters for the DLL.
LIBRARY "NativeCode"
DESCRIPTION 'NativeCode Windows Dynamic Link Library'
EXPORTS
; Explicit exports can go here
Java_edp_storageagent_StorageManager_initialize @1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 如果你的dll使支持mfc的,请在每个java native function中加入一段
如
JNIEXPORT void JNICALL Java_edp_storageagent_StorageManager_initialize
(JNIEnv *env, jclass o,jint maxThreadNum)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
your code;
}
请检查这些,看能不能解决问题。
|
看一看:
http://www.csdn.net/expert/topic/548/548763.xml?temp=.8303644
希望对你有帮助。
http://www.csdn.net/expert/topic/548/548763.xml?temp=.8303644
希望对你有帮助。
|
通过JNI的方式调用就可以了。。。。。。。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。