Java 查找函数时出错';HelloWorld';:找不到指定的过程
我正在尝试访问我在java代码中创建的VB.NETDLL方法。 我正试图使用JNA实现这一点 这是我的Java代码 Hello.java(调用dll方法) 这是界面 NativeInterface.javaJava 查找函数时出错';HelloWorld';:找不到指定的过程,java,.net,dll,jna,Java,.net,Dll,Jna,我正在尝试访问我在java代码中创建的VB.NETDLL方法。 我正试图使用JNA实现这一点 这是我的Java代码 Hello.java(调用dll方法) 这是界面 NativeInterface.java import com.sun.jna.*; public interface NativeInterface extends com.sun.jna.Library { public void HelloWorld(); } 我面临的错误是: 线程“main”java.lang
import com.sun.jna.*;
public interface NativeInterface extends com.sun.jna.Library {
public void HelloWorld();
}
我面临的错误是:
线程“main”java.lang.UnsatisfiedLinkError中出现异常:查找函数“HelloWorld”时出错:找不到指定的过程。
位于com.sun.jna.Function.(Function.java:179)
位于com.sun.jna.nativellibrary.getFunction(nativellibrary.java:345)
位于com.sun.jna.nativellibrary.getFunction(nativellibrary.java:325)
位于com.sun.jna.Library$Handler.invoke(Library.java:203)
位于$Proxy0.HelloWorld(未知来源)
在Hello.main(Hello.java:10)
我还使用ildasm检查了dll是否存在任何类型的差异
dll中的方法名和Hello.java中的方法名没有区别
有趣的是,我试着测试windows dll msvcrt.dll的put()方法的代码,它运行得非常好。因此,问题在于网络DLL。
请帮忙 您使用的库用于从本机库(如windows.dll和msvcrt.dll)加载方法,这些库被编译成可以直接在x86或x64处理器上运行的本机代码 在VB.NET中创建的库不是本机库,而是CLI(公共语言基础设施)程序集,编译成CIL(公共中间语言),然后动态编译以运行任何类型的处理器(就像Java!)
import com.sun.jna.*;
public interface NativeInterface extends com.sun.jna.Library {
public void HelloWorld();
}