我从事 C 语言工作已经有大约 20 年了,但我从未构建过 DLL;我一直更喜欢静态链接。
我使用命令行 - cl.exe 等 - 和 gnumake makefile 来构建我的 Windows 应用程序。
我现在想构建一个DLL,但我很困惑。
最终,我将得到一个 .lib 和一个 .dll。 .lib 包含存根代码,该代码在运行时加载 DLL 并使用其中的代码。
我一直在查看 lib 和 link 的命令行,但我不清楚到底应该做什么来产生此输出。
所以我有一些问题;
cl 是否需要任何附加参数来指示它正在编译 DLL? (我知道 DLL 导出的原型需要 __declspec(dllexport))。
我知道链接需要 /dll 作为参数。
我会运行lib吗and链接,分别生成 .lib 和 .dll,或者链接会生成两者?
我还需要知道什么?
在命令行上使用:
cl.exe /LD <files-to-compile>
或者,如果您更喜欢更详细和明确的版本:
cl.exe /D_USRDLL /D_WINDLL <files-to-compile> <files-to-link> /link /DLL /OUT:<desired-dll-name>.dll
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)