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

.dll和.lib是否因编程语言而异?,dll,programming-languages,Dll,Programming Languages,比如说,如果.dll或.lib是用C编写的,那么其他语言(如PHP/Python)可以使用它吗?dll是二进制的。只要您的语言可以使用二进制库(使用编译二进制文件的操作系统),您就应该可以(请参见下面的异常)。LIB文件是为编译器准备的,因此您只能在编译时使用C/C++语言编写的LIB文件 这方面的例外是.NET和COM。NET生成特殊的程序集DLL,供其他.NET语言(C#、VB.NET、C++/CLI、IronPython等)使用。COM生成特殊DLL,其中组件(专用类)通过DLL公开。另外

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

dll是二进制的。只要您的语言可以使用二进制库(使用编译二进制文件的操作系统),您就应该可以(请参见下面的异常)。LIB文件是为编译器准备的,因此您只能在编译时使用C/C++语言编写的LIB文件

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


就这个话题进行讨论,并了解更多关于差异的细节。

可能,也可能不。这取决于DLL的功能。