Dus*_*usk 2 java eclipse dll java-native-interface
我正在尝试在eclipse中的java应用程序中使用dll,但每当我尝试调用与该dll相关联的任何方法时,我都会遇到运行时异常.
dll存在于以下地址中,我在eclipse 中的运行/调试设置中传递了该地址:
-Djava.library.path="C:\Program Files\NPortAdminSuite\ipserial\lib\x86;${env_var:PATH}"
Run Code Online (Sandbox Code Playgroud)
码:
class Test {
public native int nsio_init();
public static void main(String[] args) {
System.loadLibrary("ipserial");
new Test().nsio_init(); //This part is throwing an exception
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: NPortConnection.nsio_init()I
at Test.nsio_init(Native Method)
at Test.main(Test.java:27)
Run Code Online (Sandbox Code Playgroud)
该命令dumpbin /exports "C:\Program Files\NPortAdminSuite\ipserial\lib\x86\IPSerial.dll"还返回我的方法名称,我试图从该DLL调用

谁能告诉我们如何解决这个问题?
看起来你试图直接从java代码调用一个DLL函数.这是不可能的(直接).您需要编写一个在java和本机dll之间进行转换的层.
看看这些资源:
| 归档时间: |
|
| 查看次数: |
4323 次 |
| 最近记录: |