• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 14, comments - 1, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            編譯選項

            Posted on 2009-09-02 14:00 ggh 閱讀(1202) 評論(0)  編輯 收藏 引用

            優化

            選項 作用
            /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 將調試信息包含在與“編輯并繼續”兼容的程序數據庫中

            (附“編輯并繼續”:編輯并繼續”處理大多數類型的代碼更改。但是,在程序執行期間,某些更改無法應用。若要應用這些更改,必須暫停執行并生成新版本的代碼。

            在調試會話期間不能應用下列 C/C++ 更改:
            大多數的全局或靜態數據的更改。
            從其他計算機復制并且未在本地生成的可執行文件的更改。
            影響一個對象(如類的數據成員)布局的數據類型的更改。
            添加超過 64k 字節的新代碼或數據。
            添加要求在指令指針前存在構造函數的變量。
            影響需要運行時初始化的代碼的更改。
            在某些實例中,添加異常處理程序。
            資源文件的更改。
            只讀文件中的代碼更改。
            沒有相應 PDB 文件的代碼的更改。
            沒有對象文件的代碼的更改。

            在以下調試方案中,“編輯并繼續”不可用:
            在 Windows 98 上調試。
            混合模式(本機/托管)調試。
            SQL 調試。
            調試 Dr. Watson 轉儲。
            在未選擇“在未處理的異常上展開調用堆棧”選項的情況下,在發生未處理的異常之后編輯代碼。
            調試嵌入式運行庫應用程序。
            從“調試”菜單中使用“附加到”調試應用程序,而不是使用“啟動”運行應用程序。
            調試優化后的代碼。
            當目標為 64 位應用程序時,調試托管代碼。如果想要使用“編輯并繼續”,必須將目標平臺設置為 x86。((“Project 屬性”對話框->“編譯”選項卡->“高級編譯器”設置。)
            如果由于生成錯誤無法生成新版本的代碼,則對舊版本的代碼進行調試)

            語言

            選項 作用
            /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 設置編譯器的內存分配限制


            CL 命令行使用下列語法:

            CL [option...] file... [option | file]... [lib...] [@command-file] [/link link-opt...]

            下表說明CL 命令的輸入項意義

            option 一個或多個 CL 選項。請注意,所有選項都應用于所有指定的源文件。選項是由一個正斜杠 (/) 或一個短劃線 (–) 指定的。如果某個選項帶有參數,則該選項的說明指定在選項和參數之間是否允許有空格。選項名(/HELP 選項除外)區分大小寫。有關更多信息,請參閱 CL 選項的順序。

            file 一個或多個源文件、.obj 文件或庫的名稱。CL 編譯源文件并將 .obj 文件和庫的名稱傳遞給鏈接器。有關更多信息,請參閱 CL 文件名語法。

            lib 一個或多個庫名。CL 將這些名稱傳遞給鏈接器。

            command-file 包含多個選項和文件名的文件。有關更多信息,請參閱 CL 命令文件。

            link-opt 一個或多個鏈接器選項。CL 將這些選項傳遞給鏈接器。

            您可以指定任意數目的選項、文件名和庫名,條件是命令行上的字符數不超過 1024,該限制是操作系統指定的。

            CL 命令文件請參見
            設置編譯器選項 | 編譯器選項
            命令文件是一個文本文件,它包含您另外在命令行上鍵入或使用 CL 環境變量指定的選項和文件名。CL 接受在 CL 環境變量中或命令行上用作參數的編譯器命令文件。與命令行或 CL 環境變量不同,命令文件允許使用多行選項和文件名。

            命令文件中的選項和文件名將根據 CL 環境變量中或命令行上的命令文件名的位置被進行處理。但是,如果 /link 選項出現在命令文件中,則該行其余部分的所有選項將被傳遞給鏈接器。命令文件的后面幾行中的選項和命令行上命令文件調用之后的選項仍被作為編譯器選項接受。

            命令文件一定不能包含 CL 命令。每個選項必須在同一行上開始和結束;不能使用反斜杠 (\) 跨行組合一個選項。

            命令文件用一個 @ 符后接一個文件名指定;該文件名可指定絕對路徑或相對路徑。

             

            本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/mickey139/archive/2009/06/01/4232489.aspx

            99久久精品无码一区二区毛片| 欧美久久久久久| 久久久91精品国产一区二区三区| 国产成人久久激情91| 色8激情欧美成人久久综合电| 久久久久久久97| 国产精品久久久天天影视香蕉| 亚洲欧美久久久久9999| 性色欲网站人妻丰满中文久久不卡| 色综合久久最新中文字幕| 香蕉久久影院| 亚洲国产精品久久久久久| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲国产精品久久久久网站| 香蕉99久久国产综合精品宅男自| 人妻丰满AV无码久久不卡| 欧美久久亚洲精品| 99久久婷婷免费国产综合精品| 欧美一级久久久久久久大片| 久久免费美女视频| 九九精品99久久久香蕉| 久久久久久综合网天天| 久久一区二区三区99| 国产高清美女一级a毛片久久w| 久久久久久久久久久久中文字幕| 亚洲国产成人久久综合碰| 国内精品久久久久影院网站| 国产精品久久网| 久久亚洲高清观看| 久久精品国产亚洲av高清漫画| 7777精品久久久大香线蕉| 国产精品久久久久久五月尺| 亚洲国产综合久久天堂| 午夜精品久久久久久| 久久综合成人网| 亚洲国产成人精品女人久久久 | 久久伊人影视| 免费一级做a爰片久久毛片潮| 欧美性猛交xxxx免费看久久久| 久久精品综合一区二区三区| 久久久久国产一区二区|