c# - 如何为所有语言创建 DLL

标签 c# java c++

<分区>

如何创建文件DLL,以便所有语言开发人员都可以使用它 我认为,如果使用 C++ 创建,则 .Net 语言可以使用它。 然而,JAVA 呢???和其他一些语言

最佳答案

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

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

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

关于c# - 如何为所有语言创建 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15469566/

相关文章:

c# - 找不到方法 : 'Void Google.Apis.Util.Store.FileDataStore..ctor(System.String)'

c# - WPF。未从另一个应用程序(服务)关闭 wpf 应用程序

c++ - 实现归并排序 C++

c# - Resharper 和实时模板。获取方法中的参数列表

c# - 使用 JSON.Net,如果序列化 Entity Framework 对象,则禁用对数据库的访问

java foreach数据库列表值

java - org.apache.http 编译错误

java - 如何编译 google-fhir 原型(prototype)文件

c++ - 尝试对结构数组使用选择排序

c++ - DEV C++ 行 69 [错误] 'i' 的名称查找已更改为 ISO 'for' 范围 [-fpermissive]