如何从java程序调用c#dll 我有一个C语言的DLL,需要在java中调用。我看到有一种方法使用JNI调用C++ DLL。我怎么能做一个C语言的DLL?请帮助……我找不到任何关于这个< P>的好材料。
IKVM.NET是针对Mono和Microsoft.NET的Java实现 框架它包括以下组件:如何从java程序调用c#dll 我有一个C语言的DLL,需要在java中调用。我看到有一种方法使用JNI调用C++ DLL。我怎么能做一个C语言的DLL?请帮助……我找不到任何关于这个< P>的好材料。,c#,java,dll,C#,Java,Dll,IKVM.NET是针对Mono和Microsoft.NET的Java实现 框架它包括以下组件: 在.NET中实现的Java虚拟机 Java类库的.NET实现 支持Java和.NET互操作性的工具 你可以用。或者您可以从C#代码创建COM程序集并使用来调用它 如果您有C#dll源代码,您需要使用,也许更好的方法是使用一些工具将其转换为Java,如 根据GrassHopper key特性解释,它可以将MSIL转换为Java bite代码。因此可以在没有c#dll源的情况下使用 检查以下内容: 如
- 在.NET中实现的Java虚拟机
- Java类库的.NET实现
- 支持Java和.NET互操作性的工具
NObject obj = Javonet.New("yourDotNetClass");
obj.invoke("YourMethod","arg1", 2);
该语法不是强类型的,其工作原理类似于反射,但它可以让您以最快的速度访问任何自定义.NET代码、第三方LIB或.NET framework,因为在.NET端不需要任何更改。如果需要,还可以实现自定义强类型包装器
我确实推荐这座桥,因为在我看来,它是最容易快速完成任务的,但其他本地桥也值得检查,因为这是这种情况下的最佳方法
<>我会避免进入自定义JNI或COM,除非你有很多时间,你只想学习,如果你需要快速可靠的解决方案,请使用第三方的桥梁。< /P>你试过写一个C++ DLL来包装C*yDLL吗?是的,我已经研究过了。我应该使用COM吗?这是唯一可用的方法吗?我没有访问c代码的权限,我只是得到了dll。哪种方法对我来说更好?你可以同时使用JNI或J-Interop。我两个都试过了。JNI更适合我的任务。但这只是我的观点。蚱蜢可以转换成字节码MSIL,所以你不需要c代码。把它添加到答案中