如何创建文件DLL,因此所有语言开发人员都可以使用它 我认为,如果使用C ++创建,那么语言.Net就可以使用它。 但是,JAVA怎么样?和其他一些语言
答案 0 :(得分:4)
制作可被其他平台和语言使用的DLL的唯一保证方法是将其编写为导出静态C函数的语言/平台;最简单的方法是直接用C和C ++编写,但其他语言也可以。这样你就可以用C,C ++,.NET / C#/ VB(使用DllImport
P / Invoke)和Java(使用JNI)来调用它。其他语言也支持导入C函数。
(通常)您无法导出类或其他类型。如果您的C函数使用结构,那么您必须在头文件或其他定义中记录这些结构,供DLL的使用者使用。
还有其他方法,包括COM(支持导出接口和其他类型)和新的WinRT元数据格式,但这是新的,并没有看到广泛的部署。 COM是一种痛苦的运动。
答案 1 :(得分:-1)
Java和C#,C和C ++以外的其他语言不能使用作为C代码的dll。它们是完全不同的语言,Java使用Java虚拟机来运行即时字节码,而Ruby / Python /其他脚本语言则使用解释器。实际上,dll本身只是C / C ++ / C#的一部分。 C#只能使用C / C ++ dll,因为Microsoft打算兼容。
另一方面,您可以尝试创建包装器,以便其他语言可以使用您创建的代码。