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

            細(xì)說(shuō)cc 編譯命令

            Posted on 2009-08-11 15:42 Prayer 閱讀(307) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++LINUX/UNIX/AIX
            多數(shù)UNIX平臺(tái)都通過(guò)CC調(diào)用它們的C編譯程序.除標(biāo)準(zhǔn)和CC以外,LINUX和FREEBSD還支持gcc.
            基本的編譯命令有以下幾種:

          1. -c 編譯產(chǎn)生對(duì)象文件(*.obj)而不鏈接成可執(zhí)行文件,當(dāng)編譯幾個(gè)獨(dú)立的模塊,而待以后由鏈接程序把它們鏈接在一起時(shí),就可以使用這個(gè)選項(xiàng),如:
            $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 指明編譯程序在編譯的輸出中應(yīng)產(chǎn)生調(diào)試信息.這個(gè)調(diào)試信息使源代碼和變量名引用在調(diào)試程序中或者當(dāng)程序異常退出后在分析core文件時(shí)可被使用.
            4. -D 允許從編譯程序命令行定義宏符號(hào)
            一共有兩種情況:一種是用-DMACRO,相當(dāng)于在程序中使用#define MACRO,另一種是用-DMACRO=A,相當(dāng)于程序中的#define MACRO A.如對(duì)下面這代碼:
            #ifdefine DEBUG
            printf("debug message\n");
            #endif
            編譯時(shí)可加上-DDEBUG參數(shù),執(zhí)行程序則打印出編譯信息
            5. -I 可指定查找include文件的其他位置.例如,如果有些include文件位于比較特殊的地方,比如/usr/local/include,就可以增加此選項(xiàng)如下:
            $cc -c -I/usr/local/include -I/opt/include hello.c 此時(shí)目錄搜索會(huì)按給出的次序進(jìn)行.
            6. -E 這個(gè)選項(xiàng)是相對(duì)標(biāo)準(zhǔn)的,它允許修改命令行以使編譯程序把預(yù)先處理的C文件發(fā)到標(biāo)準(zhǔn)輸出,而不實(shí)際編譯代碼.在查看C預(yù)處理偽指令和C宏時(shí),這是很有用的.可能的編譯輸出可重新定向到一個(gè)文件,然后用編輯程序來(lái)分析:
            $cc -c -E hello.c >cpp.out 此命令使include文件和程序被預(yù)先處理并重定向到文件cpp.out.以后可以用編輯程序或者分頁(yè)命令分析這個(gè)文件,并確定最終的C語(yǔ)言代碼看起來(lái)如何.
            7. -o 優(yōu)化選項(xiàng), 這個(gè)選項(xiàng)不是標(biāo)準(zhǔn)的
            -O和 -O1指定1級(jí)優(yōu)化
            -O2 指定2級(jí)優(yōu)化
            -O3 指定3級(jí)優(yōu)化
            -O0指定不優(yōu)化
            $cc -c O3 -O0 hello.c 當(dāng)出現(xiàn)多個(gè)優(yōu)化時(shí),以最后一個(gè)為準(zhǔn)!!
            8. -Wall 以最高級(jí)別使用GNU編譯程序,專門用于顯示警告用!!
            $gcc -Wall hello.c
            9. -L指定連接庫(kù)的搜索目錄,-l(小寫L)指定連接庫(kù)的名字
            $gcc main.o -L/usr/lib -lqt -o hello
            上面的命令把目標(biāo)文件main.o與庫(kù)qt相連接,連接時(shí)會(huì)到/usr/lib查找這個(gè)庫(kù)文件.也就是說(shuō)-L與-l一般要成對(duì)出現(xiàn).
          2. 思思久久99热免费精品6| 青青热久久综合网伊人| 久久综合狠狠综合久久激情 | 国内精品久久国产大陆| 午夜精品久久久久久影视riav| 国产午夜精品久久久久九九| 2021少妇久久久久久久久久| 香蕉久久夜色精品升级完成| 久久人人爽人人爽人人片AV高清| 久久午夜综合久久| 香蕉久久影院| 一本色道久久综合狠狠躁| 国内精品久久久久影院薰衣草| 久久久久久久久久久| 亚洲国产另类久久久精品小说| 亚洲精品乱码久久久久久按摩 | 国内精品久久久久伊人av| 久久精品一区二区三区AV| 中文字幕乱码人妻无码久久| 亚洲精品无码久久千人斩| 欧美va久久久噜噜噜久久| 国产精品美女久久久m| 99久久精品费精品国产一区二区 | 久久久久一区二区三区| 久久这里只有精品首页| 日韩欧美亚洲综合久久影院Ds| 模特私拍国产精品久久| 久久久久亚洲AV无码网站| 99久久国产免费福利| 午夜精品久久久久久影视riav| 亚洲国产精品18久久久久久| 国产精品久久久久久久久免费| 久久久久一本毛久久久| 一本久久知道综合久久| 久久国产三级无码一区二区| 久久精品国产男包| 91亚洲国产成人久久精品网址| 日韩电影久久久被窝网| 久久久精品一区二区三区| 亚洲AV日韩AV天堂久久| 久久精品夜色噜噜亚洲A∨|