在Java中引用dll

时间:2010-09-28 15:33:55

标签: java c++ vb.net

我需要从我的Java项目中引用一个C ++ dll。我需要公开的方法实际上是用Visual Basic编写的。有没有办法在C ++中访问Visual Basic代码,以便最终可以在Java项目中访问它?

6 个答案:

答案 0 :(得分:2)

您可以使用Java Native Interface (JNI)

从Java项目中使用OS本机DLL

答案 1 :(得分:1)

假设这是VB 6.0而不是VB.NET,则需要为VB ActiveX DLL创建一个MFC DLL包装器。

以下是有关Exporting VB DLL Functions的更多信息。

答案 2 :(得分:1)

jmac代表我发布了原始问题。我需要找到一种从C ++ DLL调用VB DLL函数的方法。

我放弃了VB DLL并选择了一个C#DLL。以下链接提供了一个可下载的Visual Studio解决方案,该解决方案提供了一个名为DLLExporter的项目,该项目可导出C#函数,从而使它们可供C ++使用。 VS解决方案是在早于2010年的版本中编写的,但VS 2010迁移器在导入它时没有问题。

http://www.codeproject.com/KB/dotnet/DllExporter.aspx

它解决了我的问题。

为了记录,我试图将我的VB DLL包装在C#DLL中但它不起作用。所以我只是将我的VB代码迁移到C#。

答案 3 :(得分:0)

您必须使用JNI (Java Native Interface)技术。

答案 4 :(得分:0)

我强烈推荐Java JNI Tutorial

答案 5 :(得分:0)

根据Andriy Sholokh的说法,你需要使用JNI与java项目中的c或c ++进行通信。您必须在Java代码中使用本机方法。希望它会对你有所帮助。