win7 java jna找不到_Java + JNA:找不到指定的程序

在Windows 7环境下,作者尝试使用Java的JNA库调用由Visual Studio创建的dll文件,但遇到`UnsatisfiedLinkError`异常,提示找不到指定的函数。问题可能出在C/C++代码上,尽管尝试了修改h和cpp文件、使用不同的函数声明方式,但问题仍未解决。依赖项检查工具 Dependency Walker也无法打开dll,同时发现编译器为函数名添加了特殊的后缀。在Java端,作者展示了如何加载和调用dll的方法。在讨论中,有人建议将函数声明为`extern 'C'`静态类型。
摘要由CSDN通过智能技术生成

我正在嘗試使用visual studio創建一個dll文件,並在Java項目中使用/訪問它。該庫似乎被加載,但總是拋出相同的異常: 線程「main」中的異常java.lang.UnsatisfiedLinkError:查找函數'function'時出錯:無法找到指定的過程。我的C/C++技能並不是最好的,所以問題可能在那裏。我試圖編輯h和cpp文件,使用類,名稱空間,靜態方法和網上找到的其他工作人員,但沒有做任何事情。 我也看過其他文章談論Depency Walker工具,但它無法打開我的dll,我也看到編譯器爲函數名添加了一些奇怪的後綴,因爲我知道可以通過使用「 estern'C'「在h或cpp文件中,但我無法使用。Java + JNA:找不到指定的程序

我的界面:

import com.sun.jna.Library;

import com.sun.jna.Native;

public interface SimpleDll extends Library {

SimpleDll instance = (SimpleDll) Native.loadLibrary("SimpleDll", SimpleDll.class);

void function();

}

我的主類:

public class Test_Dll {

public static void main(String[] args) {

SimpleDll simpleDll = SimpleDll.instance;

simpleDll.functi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值