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

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            細說cc 編譯命令

            Posted on 2009-08-11 15:42 Prayer 閱讀(307) 評論(0)  編輯 收藏 引用 所屬分類: C/C++ 、LINUX/UNIX/AIX
            多數UNIX平臺都通過CC調用它們的C編譯程序.除標準和CC以外,LINUX和FREEBSD還支持gcc.
            基本的編譯命令有以下幾種:

          1. -c 編譯產生對象文件(*.obj)而不鏈接成可執行文件,當編譯幾個獨立的模塊,而待以后由鏈接程序把它們鏈接在一起時,就可以使用這個選項,如:
            $cc -c hello.c ===> hello.o
            $cc hello.o
            2. -o 允許用戶指定輸出文件名,如
            $cc hello.c -o hello.o
            or
            $cc hello.c -o hello
            3. -g 指明編譯程序在編譯的輸出中應產生調試信息.這個調試信息使源代碼和變量名引用在調試程序中或者當程序異常退出后在分析core文件時可被使用.
            4. -D 允許從編譯程序命令行定義宏符號
            一共有兩種情況:一種是用-DMACRO,相當于在程序中使用#define MACRO,另一種是用-DMACRO=A,相當于程序中的#define MACRO A.如對下面這代碼:
            #ifdefine DEBUG
            printf("debug message\n");
            #endif
            編譯時可加上-DDEBUG參數,執行程序則打印出編譯信息
            5. -I 可指定查找include文件的其他位置.例如,如果有些include文件位于比較特殊的地方,比如/usr/local/include,就可以增加此選項如下:
            $cc -c -I/usr/local/include -I/opt/include hello.c 此時目錄搜索會按給出的次序進行.
            6. -E 這個選項是相對標準的,它允許修改命令行以使編譯程序把預先處理的C文件發到標準輸出,而不實際編譯代碼.在查看C預處理偽指令和C宏時,這是很有用的.可能的編譯輸出可重新定向到一個文件,然后用編輯程序來分析:
            $cc -c -E hello.c >cpp.out 此命令使include文件和程序被預先處理并重定向到文件cpp.out.以后可以用編輯程序或者分頁命令分析這個文件,并確定最終的C語言代碼看起來如何.
            7. -o 優化選項, 這個選項不是標準的
            -O和 -O1指定1級優化
            -O2 指定2級優化
            -O3 指定3級優化
            -O0指定不優化
            $cc -c O3 -O0 hello.c 當出現多個優化時,以最后一個為準!!
            8. -Wall 以最高級別使用GNU編譯程序,專門用于顯示警告用!!
            $gcc -Wall hello.c
            9. -L指定連接庫的搜索目錄,-l(小寫L)指定連接庫的名字
            $gcc main.o -L/usr/lib -lqt -o hello
            上面的命令把目標文件main.o與庫qt相連接,連接時會到/usr/lib查找這個庫文件.也就是說-L與-l一般要成對出現.
          2. 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久亚洲AV永久无码精品| 久久国产亚洲高清观看| 久久久久人妻一区二区三区 | 无码人妻久久久一区二区三区| 无码8090精品久久一区| 亚洲七七久久精品中文国产| 久久久久国色AV免费观看| 久久久久久久综合日本| 亚洲国产香蕉人人爽成AV片久久| 久久久久亚洲av成人无码电影| 国产精品美女久久久久av爽 | 亚洲国产精品婷婷久久| 国产高清国内精品福利99久久| 久久91精品综合国产首页| 久久精品国产第一区二区| 亚洲国产日韩欧美久久| 2021最新久久久视精品爱| 99久久国产宗和精品1上映| 色欲久久久天天天综合网| 人妻精品久久久久中文字幕69| 国产精品久久久久…| 久久www免费人成看国产片| 久久精品国产乱子伦| 精品国产91久久久久久久| 热RE99久久精品国产66热| 久久久精品人妻一区二区三区蜜桃| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产精品久久久99| 亚洲伊人久久综合影院| 久久w5ww成w人免费| 久久人妻少妇嫩草AV无码蜜桃| 亚洲av日韩精品久久久久久a| 青青青国产精品国产精品久久久久 | 国产69精品久久久久9999APGF| 久久国产高清字幕中文| 久久久国产99久久国产一| 中文精品久久久久国产网址| 2021国产精品久久精品| 成人a毛片久久免费播放| 亚洲va国产va天堂va久久|