在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            GCC常用參數(shù)大全

            作者: 時(shí)間:2011-06-23 來源:網(wǎng)絡(luò) 收藏

            1. 頭文件
            象conio.h應(yīng)該變成curses.h

            2. 沒有itoa函數(shù)
            itoa?不對(duì)吧,標(biāo)準(zhǔn)C/C++里根本沒有這個(gè)函數(shù)。即使在Windows平臺(tái)下某些編譯器提供了該函數(shù)[3],沒有任何移植性不說,還只能解決int類型(也許其他函數(shù)還可以解決long、unsigned long等類型),浮點(diǎn)類型又怎么辦?當(dāng)然,辦法還是有,那就是:sprintf。

            char s[100];
            sprintf(s, "%f", 123.123456);

            3. 關(guān)于sqrt,sin和cos函數(shù)
            就算是引入math.h頭文件,也不會(huì)找到sqrt,sin和cos函數(shù)。應(yīng)該用鏈接庫來解決。
            有時(shí)候我們使用了某個(gè)函數(shù),但是我們不知道庫的名字,這個(gè)時(shí)候怎么辦呢?很抱歉,對(duì)于這個(gè)問題我也不知道答案,我只有一個(gè)傻辦法.首先, 我到標(biāo)準(zhǔn)庫路徑下面去找看看有沒有和我用的函數(shù)相關(guān)的庫,我就這樣找到了線程(thread)函數(shù)的庫文件(libpthread.a). 當(dāng)然,如果找不到,只有一個(gè)笨方法.比如我要找sin這個(gè)函數(shù)所在的庫. 就只好用 nm -o /lib/*.so|grep sin>~/sin 命令,然后看~/sin文件,到那里面去找了. 在sin文件當(dāng)中,我會(huì)找到這樣的一行l(wèi)ibm-2.1.2.so:00009fa0 W sin 這樣我就知道了sin在 libm-2.1.2.so庫里面,我用 -lm選項(xiàng)就可以了(去掉前面的lib和后面的版本標(biāo)志,就剩下m了所以是 -lm).

            4. Makefile出現(xiàn)missing separator的錯(cuò)誤
            原因是目標(biāo)聲明行下面的命令行必須用Tab鍵分開(而不是空格)

            PG: PG.o
            [ Tab鍵 ]gcc -o PG -O -O2 -lm /lib/ld-2.2.93.so PG.o
            PG.o: PG.c pointgroup.h
            [ Tab鍵 ]gcc -c -O -O2 PG.c
            clean:
            [ Tab鍵 ]rm -f *.o

            5. 注意文件的DOS格式字符
            調(diào)試的時(shí)候應(yīng)該注意文件可能有DOS格式字符,必須先用如下命令去掉文件中的DOS格式字符:
            tr -d file> tmp_file
            mv tmp_file file>

            -o FILE
            指定輸出文件名,在編譯為目標(biāo)代碼時(shí),這一選項(xiàng)不是必須的。如果FILE沒有指定,缺省文件名是a.out.

            -c
            只編譯不鏈接

            -DFOO=BAR
            在命令行定義預(yù)處理宏FOO,其值為BAR

            -IDIRNAME
            將DIRNAME加入到頭文件的搜索目錄列表中

            -LDIRNAME
            將DIRNAME加入到庫文件的搜索目錄列表中,缺省情況下gcc 只鏈接共享庫

            -static
            鏈接靜態(tài)庫,即執(zhí)行靜態(tài)鏈接

            -lFOO
            鏈接名為libFOO的函數(shù)庫

            -g
            在可執(zhí)行程序中包含標(biāo)準(zhǔn)調(diào)試信息

            -ggdb
            在可執(zhí)行程序中包含只有GNU debugger才能使別的達(dá)兩條是信息

            -O
            優(yōu)化編譯過的代碼

            -ON
            指定代碼優(yōu)化的級(jí)別為N,o=N=3

            -ansi
            支持ANSI/ISO C的標(biāo)準(zhǔn)語法,取消GNU的語法擴(kuò)展中與該標(biāo)準(zhǔn)有沖突的部分
            (但這一選項(xiàng)并不能保證生成ANSI兼容的代碼)

            -pedantic
            允許發(fā)出ANSI/ISO C標(biāo)準(zhǔn)所列出的所有警告

            -pedantic -errors
            允許發(fā)出ANSI/ISO C標(biāo)準(zhǔn)所列出的所有錯(cuò)誤

            -traditional
            支持Kernighan Ritchie C語法(如用舊式語法定義函數(shù));如果不知道這個(gè)選項(xiàng)的含義,也沒有關(guān)系

            -w
            關(guān)閉所有警告,建議不要使用此項(xiàng)

            .Wall
            允許發(fā)出gcc能提供的所有有用的警告,也可以用-W(warning)來標(biāo)記指定的警告

            -werror
            把所有警告轉(zhuǎn)換為錯(cuò)誤,以在警告發(fā)生時(shí)中止編譯過程

            -MM
            輸出一個(gè)make兼容的相關(guān)列表

            -v
            顯示在編譯過程的每一步中用到的命令

            本文由粵嵌教育(嵌入式培訓(xùn)機(jī)構(gòu)www.gec-edu.org)提供


            關(guān)鍵詞: 參數(shù)

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉