Visual C 編譯器選項

2021-04-23 03:26:44 字數 4522 閱讀 5289

visual   c++   編譯器選項        

選項   作用    

/o1   建立小**    

/o2   建立快速**    

/oa   假設沒有別名    

/ob   控制內聯展開    

/od   禁用優化    

/og   使用全域性優化    

/oi   生成內部函式    

/op   改善浮點數一致性    

/os   **大小優先    

/ot   **速度優先    

/ow   假定在函式呼叫中使用別名    

/ox   使用最大優化   (/ob1gity   /gs)    

/oy   省略框架指標    

**生成  

選項   作用    

/clr   啟用   c++   的託管擴充套件並產生在公共語言執行庫上執行的輸出檔案    

/eh   指定異常處理模型    

/g3   優化**以優選   386   處理器。在   visual   c++   5.0   中已經停用,編譯器將忽略此選項    

/g4   優化**以優選   486   處理器。在   visual   c++   5.0   中已經停用,編譯器將忽略此選項    

/g5   優化**以優選   pentium    

/gb   與   /g6   等效;將   _m_ix86   的值設定為   600    

/gd   使用   __cdecl   呼叫約定    

/ge   啟用堆疊探測    

/gf  

/gf   啟用字串池    

/gh   呼叫掛鉤函式   _penter    

/gh   呼叫掛鉤函式   _pexit    

/gl   啟用全程式優化    

/gm   啟用最小重新生成    

/gr   啟用執行時型別資訊   (rtti)    

/gr   使用   __fastcall   呼叫約定    

/gs   控制堆疊探測    

/gt   支援使用靜態執行緒本地儲存區分配的資料的纖程安全    

/gx   啟用同步異常處理    

/gy   啟用函式級鏈結    

/gz   使用   __stdcall   呼叫約定    

/md   使用   msvcrt.lib   建立多執行緒   dll    

/mdd   使用   msvcrtd.lib   建立除錯多執行緒   dll    

/ml   使用   libc.lib   建立單執行緒可執行檔案    

/mld   使用   libcd.lib   建立除錯單執行緒可執行檔案    

/mt   使用   libcmt.lib   建立多執行緒可執行檔案    

/mtd   使用   libcmtd.lib   建立除錯多執行緒可執行檔案    

輸出檔案  

選項   作用    

/fa  

/fa   建立列表檔案  

設定列表檔名    

/fd   重新命名程式資料庫檔案    

/fe   重新命名可執行檔案    

/fm   建立對映檔案    

/fo   建立物件檔案    

/fp   指定預編譯頭檔名    

/fr  

/fr   生成瀏覽器檔案    

/fx   將插入的**與原始檔合併    

除錯  

選項   作用    

/gs   緩衝區安全檢查    

/gz   與   /rtc1   相同    

/rtc   啟用執行時錯誤檢查    

/wp64   檢測   64   位可移植性問題    

/yd   將完整的除錯資訊放在所有物件檔案中    

/yl   建立除錯庫時插入   pch   引用    

/z7   生成與   c   7.0   相容的除錯資訊    

/zd   生成行號    

/zi   生成完整的除錯資訊    

預處理器  

選項   作用    

/ai   指定在解析傳遞到#using   指令的檔案引用時搜尋的目錄    

/c   在預處理期間保留注釋    

/d   定義常數和巨集    

/e   將預處理器輸出複製到標準輸出    

/ep   將預處理器輸出複製到標準輸出    

/fl   預處理指定的包含檔案    

/fu   強制使用檔名,就像它已被傳遞到#using   指令一樣    

/i   在目錄中搜尋包含檔案    

/p   將預處理器輸出寫入檔案    

/u   移除預定義巨集    

/u   移除所有的預定義巨集    

/x   忽略標準包含目錄    

/zi   將除錯資訊包含在與「編輯並繼續」相容的程式資料庫中    

語言  

選項   作用    

/nobool   取消   c++   bool、true   和   false   關鍵字    

/vd   取消或啟用隱藏的   vtordisp   類成員    

/vmb   對指向成員的指標使用最佳的基    

/vmg   對指向成員的指標使用完全一般性    

/vmm   宣告多重繼承    

/vms   宣告單一繼承    

/vmv   宣告虛擬繼承    

/za   禁用語言擴充套件    

/zc   在   /ze   下指定標準行為    

/ze   啟用語言擴充套件    

/zg   生成函式原型    

/zl   從   .obj   檔案中移除預設庫名    

/zp   n   封裝結構成員    

/zs   只檢查語法    

鏈結  

選項   作用    

/f   設定堆疊大小    

/ld   建立動態鏈結庫    

/ldd   建立除錯動態鏈結庫    

/link   將指定的選項傳遞給   link    

/md   使用   msvcrt.lib   編譯以建立多執行緒   dll    

/mdd   使用   msvcrtd.lib   編譯以建立除錯多執行緒   dll    

/ml   使用   libc.lib   編譯以建立單執行緒可執行檔案    

/mld   使用   libcd.lib   編譯以建立除錯單執行緒可執行檔案    

/mt   使用   libcmt.lib   編譯以建立多執行緒可執行檔案    

/mtd   使用   libcmtd.lib   編譯以建立除錯多執行緒可執行檔案    

預編譯頭  

選項   作用    

/y-   忽略當前生成中的所有其他預編譯頭編譯器選項    

/yc   建立預編譯標頭檔案    

/yd   將完整的除錯資訊放在所有物件檔案中    

/yu   在生成期間使用預編譯標頭檔案    

/yx   自動處理預編譯頭    

雜項  

選項   作用    

@   指定響應檔案    

/?   列出編譯器選項    

/c   編譯但不鏈結    

/h   限制外部(公共)名稱的長度    

/help   列出編譯器選項    

/j   更改預設的   char   型別    

/nologo   取消顯示登入版權標誌    

/qi0f   確保   pentium   0f   指令沒有問題    

/qifdiv   fdiv、fprem、fptan   和   fpatan   指令有缺陷的   intel   pentium   微處理器的變通方法    

qifist   當需要從浮點型別轉換為整型時取消   helper   函式   _ftol   的呼叫    

/showincludes   在編譯期間顯示所有包含檔案的列表    

/tc  

/tc   指定   c   原始檔    

/tp  

/tp   指定   c++   原始檔    

/v   設定版本字串    

/w   設定警告等級    

/w   禁用所有警告    

/wall   啟用所有警告,包括預設情況下禁用的警告    

/wl   在從命令列編譯   c++   源**時啟用錯誤資訊和警告訊息的單行診斷    

/zm   設定編譯器的記憶體分配限制    

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...