2009-04-17 58 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 

,意思是「命令」是的庫內容本身的一部分。

相關問題