我正在尝试从Java代码(通过C++本机代码)使用.NET DLL。
流程如下:
请参见Microsoft指南中的片段。
请注意,此调用在控制台应用程序中成功返回,但在通过JNI流调用时,JVM会崩溃。
- 使用Visual Studio 2010创建C#类库类型项目,创建.NET DLL。
- 创建本机C++代码(Console应用程序)来使用此DLL 使用Microsoft的逐步指南。该代码能够成功调用DLL代码。
- 编写具有一些本机方法的Java代码,生成头文件并在C++ DLL项目中实现头文件(将示例中的原始代码移动到相关方法中,使一些变量成为全局变量)。
请参见Microsoft指南中的片段。
// Create the interface pointer.
ICalculatorPtr pICalc(__uuidof(ManagedClass));
请注意,此调用在控制台应用程序中成功返回,但在通过JNI流调用时,JVM会崩溃。