Calling .NET DLL from Java

Calling .NET DLL from Java

本文关键字:Java from DLL NET Calling      更新时间:2023-10-16

我正在尝试使用。net DLL从Java代码(通过c++本地代码)。

流动是这样的。

  1. 在visual studio 2010中使用c#类库类型项目创建。net DLL。

  2. 创建本地c++代码(控制台应用程序)来使用这个DLL使用微软的一步一步的指导,这段代码能够成功调用DLL代码

  3. 使用一些本地方法编写Java代码,在c++ DLL项目中生成头文件并实现头文件(将相关方法中的原始代码从示例中移出,将一些变量设置为全局)

DLL加载成功,但是代码在为托管类创建接口指针时失败。

参见Microsoft指南中的snipper

 // Create the interface pointer.
ICalculatorPtr pICalc(__uuidof(ManagedClass));

请注意,对于控制台应用程序,此调用将成功返回,但是当通过JNI流调用时,JVM将崩溃。

我的java代码在64位JVM中运行,替换为32位JVM,不再出现JVM崩溃