2009-04-17 16 views

回答

6

它阻止某些库与其他库一起使用。例如,msvcrtd.lib库有一个条目禁止msvcrt.lib(因为将该库的调试版本和发行版本放在同一个可执行文件中会导致各种问题)。

我不确定它实际上是一个链接器开关,但我从来没有尝试过(它在各种Visual Studio发行版的任何链接器版本中都没有记录)。这可以插入:

#pragma comment(linker, "/disallowlib:somelib.lib") 
在源文件中

因此它可能链接器可以允许它。你在哪里发现它在图书馆内。如果你执行:

dumpbin.exe /rawdata msvcrtd.lib 

,你会看到类似这样的:在输出

/disallowlib:libcmt.lib 
/disallowlib:libcmtd.lib 
/disallowlib:msvcrt.lib 

,意思是“命令”是的库内容本身的一部分。

相关问题