• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            細說cc 編譯命令

            Posted on 2009-04-15 14:39 Prayer 閱讀(315) 評論(0)  編輯 收藏 引用 所屬分類: C/C++ 、LINUX/UNIX/AIX
            多數(shù)UNIX平臺都通過CC調(diào)用它們的C編譯程序.除標準和CC以外,LINUX和FREEBSD還支持gcc.
            基本的編譯命令有以下幾種:
            1.  -c     編譯產(chǎn)生對象文件(*.obj)而不鏈接成可執(zhí)行文件,當編譯幾個獨立的模塊,而待以后由鏈接程序把它們鏈接在一起時,就可以使用這個選項,如:
                         $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    指明編譯程序在編譯的輸出中應產(chǎn)生調(diào)試信息.這個調(diào)試信息使源代碼和變量名引用在調(diào)試程序中或者當程序異常退出后在分析core文件時可被使用.
               4.   -D   允許從編譯程序命令行定義宏符號
                    一共有兩種情況:一種是用-DMACRO,相當于在程序中使用#define MACRO,另一種是用-DMACRO=A,相當于程序中的#define MACRO A.如對下面這代碼:
                      #ifdefine DEBUG
                                printf("debug message\n");
                     #endif
                   編譯時可加上-DDEBUG參數(shù),執(zhí)行程序則打印出編譯信息
               5.   -I   可指定查找include文件的其他位置.例如,如果有些include文件位于比較特殊的地方,比如/usr/local/include,就可以增加此選項如下:
                    $cc -c -I/usr/local/include -I/opt/include hello.c 此時目錄搜索會按給出的次序進行.
              6. -E   這個選項是相對標準的,它允許修改命令行以使編譯程序把預先處理的C文件發(fā)到標準輸出,而不實際編譯代碼.在查看C預處理偽指令和C宏時,這是很有用的.可能的編譯輸出可重新定向到一個文件,然后用編輯程序來分析:
                  $cc -c -E hello.c >cpp.out       此命令使include文件和程序被預先處理并重定向到文件cpp.out.以后可以用編輯程序或者分頁命令分析這個文件,并確定最終的C語言代碼看起來如何.
              7. -o   優(yōu)化選項,     這個選項不是標準的
                      -O和 -O1指定1級優(yōu)化
                     -O2 指定2級優(yōu)化
                    -O3 指定3級優(yōu)化
                    -O0指定不優(yōu)化
                  $cc -c O3 -O0 hello.c  當出現(xiàn)多個優(yōu)化時,以最后一個為準!!
               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一般要成對出現(xiàn).
            99久久国产热无码精品免费| 久久国产精品99精品国产987| 精品欧美一区二区三区久久久| 国产精品久久久天天影视香蕉| 久久久久一级精品亚洲国产成人综合AV区| 国产成人精品久久亚洲高清不卡| 久久久WWW免费人成精品| yy6080久久| 久久电影网一区| 久久久高清免费视频| 精品久久久久久中文字幕人妻最新| 91超碰碰碰碰久久久久久综合 | 精品久久久无码21p发布| 久久精品人人槡人妻人人玩AV| 精品无码久久久久久国产| 色欲久久久天天天综合网| 久久久久无码专区亚洲av| 日韩av无码久久精品免费| 久久激情亚洲精品无码?V| a高清免费毛片久久| 亚洲综合伊人久久综合| 国产午夜精品久久久久九九电影| 婷婷久久香蕉五月综合加勒比| 欧美激情精品久久久久久久九九九| AV无码久久久久不卡蜜桃| 久久九九久精品国产免费直播| 欧美色综合久久久久久| 精品久久久久国产免费 | 噜噜噜色噜噜噜久久| 久久国产免费观看精品| 久久se精品一区精品二区| 人妻久久久一区二区三区| 亚洲国产精品无码久久久秋霞2| 久久天天躁狠狠躁夜夜av浪潮 | 亚洲а∨天堂久久精品| 国产日韩久久免费影院 | 国内高清久久久久久| 狠狠色丁香久久婷婷综合蜜芽五月| 欧美久久久久久精选9999| 久久久人妻精品无码一区| 无码精品久久一区二区三区|