momo zone

调核人的blog

gcc 常用参数

突然想回顾一下gcc 的编译参数了,于是就翻翻了gnu的站点,看看手册, Oh my God ,几年没看,又多了一堆参数, 好吧我承认我不是编译方面的专家,也不是吃嵌入式这碗饭的,随便看看而已。

 
自己常用的参数还是如下几个(陆续补充中):


-c : 编译,汇编,但不做最终连结(输出.o文件)
-S : 只进行编译(输出汇编码.s文件)

-E : 将预处理结果写入档名
-o filename : 指定输出档名 
-ansi : 程式要求依据ansi c标准 
-Dmacro : 使定义宏(marco)为有效 
-Dmarco=defn : 使定义宏(marco)为defn
 

-Wa,option : 将选项(option)传给编译器 
-Wl,option : 将选项(option)传给连结器 
-I : 追加include档案的搜寻路径 
-L : 追加library档案的搜寻路径 
-l : 指定连结的函式库(比如libusb 就是-lusb , 会自动根据ld 的设置来找到库文件) 
-Wall : 显示所有的警告讯息 
-g : 编入除错资讯(要使用GDB除错一定要加) 
-O2 : 做最佳化 
※ 使用范例 

Example: 

gcc -o file a.c b.c c.c 
gcc -Wall -g -o test test.c 
gcc -Iinclude -Llibrary -lmy_lib -o test1 test1.c 
gcc -DDEBUG_ON -o test2 test2.c 
gcc -c -o test3 test.c 

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: