.dll和.lib是否因编程语言而异?

时间:2010-03-28 13:23:21

标签: dll programming-languages

比方说,如果.dll或.lib是用C语言编写的,它可以被其他语言使用,比如PHP / Python吗?

1 个答案:

答案 0 :(得分:1)

DLL是二进制的。只要您的语言可以使用二进制库(使用二进制文件编译的操作系统),您应该没问题(请参阅下面的例外情况)。 LIB文件用于编译器,因此您只能在编译时使用C / C ++语言。

此例外是.NET和COM。 .NET生成特殊的程序集DLL,供其他.NET语言(C#,VB.NET,C ++ / CLI,IronPython等)使用。 COM也会生成特殊的DLL,其中组件(专用类)通过DLL公开。本地,C ++和VB6支持COM。 .NET语言可以通过互操作访问COM DLL。许多其他语言也通过各种方式支持COM绑定。

转到here进行有关此主题的讨论以及有关差异的更多详细信息。