<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > GCC常用參數大全

GCC常用參數大全

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

1. 頭文件
象conio.h應該變成curses.h

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

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

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

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

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格式字符
調試的時(shí)候應該注意文件可能有DOS格式字符,必須先用如下命令去掉文件中的DOS格式字符:
tr -d file> tmp_file
mv tmp_file file>

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

-c
只編譯不鏈接

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

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

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

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

-lFOO
鏈接名為libFOO的函數庫

-g
在可執行程序中包含標準調試信息

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

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

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

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

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

-pedantic -errors
允許發(fā)出ANSI/ISO C標準所列出的所有錯誤

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

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

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

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

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

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

本文由粵嵌教育(嵌入式培訓機構www.gec-edu.org)提供


關(guān)鍵詞: 參數

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>