我正在尝试使用Java代码中的.NET DLL(通过C ++本机代码)。
Flow就是这样。
使用visual studio 2010中的C#类库类型项目创建.net DLL。
创建本机C ++代码(控制台应用程序)以使用此DLL Using this step-by-step guide from Microsoft此代码能够成功调用DLL代码。
用C ++ DLL项目中的一些本机方法,生成的头文件和实现的头文件编写Java代码(从相关方法的示例中移动原始代码,使一些变量全局化)。
此DLL已成功加载,但在为托管类创建接口指针时代码失败。
从微软指南中查看snipper
// Create the interface pointer.
ICalculatorPtr pICalc(__uuidof(ManagedClass));
请注意,此调用会成功返回控制台应用程序,但通过JNI流程调用时,JVM崩溃。
答案 0 :(得分:1)
我的java代码在一个64位的JVM中运行,替换为一个32位的JVM,而且没有更多的JVM崩溃。