1

如何创建文件 DLL,所以我认为所有语言开发人员都可以使用它,如果使用 C++ 创建,那么语言 .Net 可以使用它。但是,JAVA怎么样???和其他一些语言

4

2 回答 2

5

使其他平台和语言可以使用的 DLL 的唯一保证方法是将其编写为导出静态 C 函数的语言/平台;最简单的方法是直接用 C 和 C++ 编写,尽管其他语言也可以。这样您就可以从 C、C++、.NET/C#/VB(使用DllImportP/Invoke)和 Java(使用 JNI)调用它。其他语言也支持导入 C 函数。

(通常)您不能导出类​​或其他类型。如果您的 C 函数使用结构,那么您必须将它们记录在头文件或其他定义中,以供 DLL 的使用者使用。

还有其他方法,包括 COM(支持导出接口和其他类型)和新的 WinRT 元数据格式,但这是新的,尚未广泛部署。COM是一种痛苦的练习。

于 2013-03-18T04:07:54.207 回答
-4

Java 和除 C#、C 和 C++ 之外的其他语言不能使用作为 C 代码制作的 dll。它们是完全不同的语言,Java 使用 Java 虚拟机运行即时字节码,而 Ruby/Python/其他脚本语言使用解释器。事实上,dll 本身只是 C/C++/C# 的一部分。仅 C# 能够使用 C/C++ dll,因为 Microsoft 有意兼容。

另一方面,您可以尝试创建包装器,以便其他语言可以使用您创建的代码。

于 2013-03-18T04:07:33.660 回答