我今天和一位同事讨论。他声称用C语言编写DLL可以让任何其他语言编写的应用程序使用该DLL。但是,如果该DLL是用C++编写的,则可使用该DLL的应用程序数量有限(可能受到语言约束的影响)。
- 他说得对吗?
- 如果您要编写一个应该由各种语言编写的所有类型的应用程序使用的DLL(但在同一平台上;让我们暂时忘记可移植性),您是否会使用C/C++,为什么?
我希望这个问题不是类似于大猩猩 vs. 鲨鱼的问题。如果是,请关闭它。
1. 他说的是正确的吗? 答:是的。通过使用C语言编写DLL,可以让任何其他语言编写的应用程序使用该DLL。而如果使用C++编写DLL,则可能会受到语言限制的影响,使可使用该DLL的应用程序数量有限。
2. 如果您要编写一个应该由各种语言编写的所有类型的应用程序使用的DLL(但在同一平台上;让我们暂时忘记可移植性),您是否会使用C/C++,为什么? 答:是的,我会使用C/C++来编写这样的DLL。因为C/C++是广泛使用的编程语言,在许多不同类型的应用程序中都可以使用。此外,C/C++在处理低级别的计算机任务方面非常出色,比其他高级语言更快且更稳定。
extern "C"
。关于第二个问题,你需要查看COM对象(任何东西都可以使用它们,这就是重点)。 - Meirion Hughes