【发布时间】:2013-06-18 19:06:27
【问题描述】:
我正在使用 Code::Blocks 并且讨厌手动链接 DLL。我找到了LoadLibrary() 函数,我想知道它是否像.a 或.lib 文件那样工作。这个功能是这样工作的吗?如果没有,我可以在编程方面(如果有的话)做些什么来链接 DLL 而不必通过 Project < Build options < Linker settings < add < ... 方法链接 DLL?
【问题讨论】:
-
在链接时不链接到 DLL,也不在运行时加载静态库。
-
@chris:实际上,您在编译时确实链接到动态库(即使只是到存根,或任何其他特定的加载程序魔法)。否则您的程序将如何访问它包含的符号? ;)
-
@syam,好吧,至少你真的不需要做任何特别的事情来担心它。
-
@chris: "你真的不需要做任何特别的事情" => 显然,在编译器的命令行上指定
-lfoobar以链接到libfoobar.so(或任何 Windows 等价物,你明白了)对于 OP 来说似乎是“特别的东西”(并且是一种负担)。但我敢肯定,当他看到LoadLibrary/GetProcAddress(resp.dlopen/dlsym) 真正意味着多少工作时,他很快就会改变主意。 ;)
标签: c++ windows dll mingw codeblocks