【发布时间】:2011-10-20 21:16:59
【问题描述】:
我正在创建一个使用 DLL 的项目。要构建我的项目,我需要包含一个头文件和一个 lib 文件。为什么我需要包含相应的 lib 文件?头文件不应该声明所有需要的信息,然后在运行时加载任何需要的库/dll吗?
谢谢
【问题讨论】:
-
但是如果您不指定,运行时链接器如何知道您要链接的库/库版本?
-
因为 Windows 链接器相对过时。在 Unix/Linux 上,您只需要一个标头和 .so。
-
@Maxim 我不知道。另一方面,Linux 上的所有功能不都只有一个巨大的公共命名空间吗?
-
不,Linux 非常先进,它会将 .lib 和 .dll 压缩到一个 .so 文件中。使其性能是 Windows 的两倍。 :-)
-
有。它由具有外部链接的所有程序符号组成。因此,不需要愚蠢的 __declspec(dllimport)。