![]() |
1
3
几乎每种语言都有一种加载动态库并从中访问导出的C函数的方法。 没有什么可以阻止您在DLL中使用C++,但是为了最大的可移植性,只导出C函数。 我有更多关于这个的信息 post . |
![]() |
2
3
如果你想同时支持vb6和.NET,你会很难通过COM来公开接口,但至少这会让你不必基于你试图交互的语言/运行时系统创建多个包装器。 |
![]() |
3
1
如果有可能需要将其移植到非Windows平台,那么DLL/共享库是您的最佳选择,因为COM对象实际上根本不可移植。 此外,您可以从几乎任何平台调用一个DLL,即使它要求您编写某种类型的包装器。在COM对象中包装一个DLL很容易,但是如果您制作一个本地的COM对象,那么添加一个C样式的DLL API就很难了。另外,您可能希望从Java调用它,并且编写JNI包装器比调用DLL以任何跨平台方式工作更容易。 实际上,这取决于你真正需要从哪个平台调用它,以及你有多确定将来你不会得到一些不寻常的东西。 |
![]() |
4
0
要从所有这些语言中调用,您唯一真正的选择是COM,而不必在需要的地方编写包装器(这会破坏要点)。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |