選項
說明/md
定義_mt和_dll以便同時從標準 .h 檔案中選擇執行時例程的多執行緒特定版本和 dll 特定版本。此選項還使編譯器將庫名 msvcrt.lib 放入 .obj 檔案中。 用此選項編譯的應用程式靜態鏈結到 msvcrt.lib。該庫提供允許鏈結器解析外部引用的**層。實際工作**包含在 msvcr71.dll 中,該庫必須在執行時對於與 msvcrt.lib 鏈結的應用程式可用。
當 在定義了 _static_cpplib (/d_static_cpplib) 的情況下使用 /md 時,它將導致應用程式通過靜態多執行緒標準 c++ 庫 (libcpmt.lib) 而非動態版本 (msvcprt.lib) 進行鏈結,同時仍通過 msvcrt.lib 動態鏈結到主 crt。
/mdd
定義_debug、_mt和_dll,以便從標準 .h 檔案中選擇執行時例程的除錯多執行緒特定版本和 dll 特定版本。它還使編譯器將庫名 msvcrtd.lib 放入 .obj 檔案中。
/ml使編譯器將庫名 libc.lib 放入 .obj 檔案中,以便鏈結器使用 libc.lib 解析外部符號。這是編譯器的預設操作。libc.lib 不提供多執行緒支援。
/mld
定義_debug並使編譯器將庫名libcd.lib放入 .obj 檔案中,以便鏈結器使用libcd.lib解析外部符號。libcd.lib不提供多執行緒支援。
/mt定義_mt, 以便從標準頭 (.h) 檔案中選擇執行時例程的多執行緒特定版本。此選項還使編譯器將庫名 libcmt.lib 放入 .obj 檔案中,以便鏈結器使用 libcmt.lib 解析外部符號。建立多執行緒程式需要 /mt 或 /md(或它們的除錯等效選項 /mtd 或 /mdd)。
/mtd
定義_debug和_mt。定義_mt會導致從標準 .h 檔案中選擇執行時例程的多執行緒特定版本。此選項還使編譯器將庫名 libcmtd.lib 放入 .obj 檔案中,以便鏈結器使用 libcmtd.lib 解析外部符號。建立多執行緒程式需要 /mtd 或 /mdd(或它們的非除錯等效選項 /mt 或 md)。
/ld建立 dll。 將 /dll 選項傳遞到鏈結器。鏈結器查詢dllmain函式,但並不需要該函式。如果沒有編寫dllmain函式,鏈結器將插入返回 true 的dllmain函式。
鏈結 dll 啟動**。
如果命令列上未指定匯出 (.exp) 檔案,則建立導入庫 (.lib);將導入庫鏈結到呼叫您的 dll 的應用程式。
將 /fe 解釋為命名 dll 而不是 .exe 檔案;預設程式名成為基名稱.dll 而不是基名稱.exe。
如果還未顯式指定 /m 選項之一,則將預設執行時庫支援更改為 /mt。
/ldd
建立除錯 dll。定義_debug。
警告不要混合使用執行時庫的靜態版本和動態版本。在乙個程序中有多個執行時庫副本會導致問題,因為副本中的靜態資料不與其他副本共享。鏈結器禁止在 .exe 檔案內部既使用靜態版本又使用動態版本鏈結,但您仍可以使用執行時庫的兩個(或更多)副本。例如,當與用動態 (dll) 版本的執行時庫鏈結的 .exe 檔案一起使用時,用靜態(非 dll)版本的執行時庫鏈結的動態鏈結庫可能導致問題。(還應該避免在乙個程序中混合使用這些庫的除錯版本和非除錯版本)。知識庫文章 q140584 也討論如何選擇適當的 c 執行時庫。
有關 dll 的進一步討論,請參見 dll。
在 visual studio 開發環境中設定此編譯器選項
開啟此專案的「屬性頁」對話方塊。有關詳細資訊,請參見設定 visual c++ 專案屬性。
單擊「c/c++」資料夾。
單擊「**生成」屬性頁。
修改「執行時庫」屬性。
以程式設計方式設定此編譯器選項
請參見 runtimelibrary 屬性。
Visual C 編譯器選項
visual c 編譯器選項 選項 目的 指定響應檔案 列出編譯器選項 ai指定在解析傳遞到 using 指令的檔案引用時搜尋的目錄 arch 使用sse 或sse2 指令生成 c 在預處理期間保留注釋 c 編譯但不鏈結 clr 啟用c 的託管擴充套件並產生在公共語言執行庫上執行的輸出檔案 d 定義...
Visual C 編譯器選項
選項 目的 指定響應檔案 列出編譯器選項 ai指定在解析傳遞到 using 指令的檔案引用時搜尋的目錄 arch 使用 sse 或sse2 指令生成 c 在預處理期間保留注釋 c 編譯但不鏈結 clr 啟用 c 的託管擴充套件並產生在公共語言執行庫上執行的輸出檔案 d 定義常數和巨集 e 將預處理器...
Visual C 編譯器選項
visual c 編譯器選項 gd gr gz 呼叫約定 gd gr gz 這些選項確定 gd 為預設設定,對除c 成員函式和標記為 stdcall或 fastcall的函式以外的所有函式指定c 呼叫約定。gr 對除c 成員函式和標記為 cdecl或 stdcall的函式以外的所有函式指定 fast...