青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Linux系統(tǒng)平臺下關(guān)于GCC編譯及使用的方法(轉(zhuǎn))

peakflys注:轉(zhuǎn)自:http://blog.csdn.net/zhenwenxian/article/details/6099314 

編譯:

第一步、是進行預編譯,使用-E參數(shù)可以讓GCC在預處理結(jié)束后停止編譯過程:

gcc -E hello.c -o hello.i

預處理的宏定義插入到hello.i中

 

第二步、是將hello.i編譯為目標代碼,這可以通過使用-c參數(shù)來完成:

gcc -c hello.i -o hello.o

也可以通過源文件直接生成

gcc -c hello.c

 

第三步、是將生成的目標文件鏈接成可執(zhí)行文件:

gcc hello.o -o hello

也可以通過源文件直接生成

gcc -o hello hello.c

 

警告:

1、-pedantic 選項,那么使用了擴展語法的地方將產(chǎn)生相應的警告信息

2、-Wall 使用它能夠使GCC產(chǎn)生盡可能多的警告信息

3、-Werror,它要求GCC將所有的警告當成錯誤進行處理

 

庫依賴:

1、Linux下的大多數(shù)函數(shù)都默認:

頭文件放到/usr/include/目錄下

而庫文件則放到/usr/lib/目錄下

2、GCC在編譯時必須有自己的辦法來查找所需要的頭文件和庫文件。

-I選項可以向GCC的頭文件搜索路徑中添加新的目錄。

例如,如果在/home/xiaowp/include/目錄下有編譯時所需要的頭文件,為了讓GCC能夠順利地找到它們,就可以使用-I選項:

gcc -o test test.c -I /home/xiaowp/include

 

-L選項向GCC的庫文件搜索路徑中添加新的目錄

例如,如果在/home/xiaowp/lib/目錄下有鏈接時所需要的庫文件libfoo.so,為了讓GCC能夠順利地找到它,可以使用下面的命令

gcc -o test test.c -L /home/xiaowp/lib -lfoo

 

值得好好解釋一下的是-l選項,它指示GCC去連接庫文件libfoo.so。

Linux下的庫文件在命名時有一個約定,那就是應該以lib三個字母開頭,由于所有的庫文件都遵循了同樣的規(guī)范,因此在用-l選項指定鏈接的庫文件名時可以省去lib三個字母,也就是說GCC在對-lfoo進行處理時,會自動去鏈接名為libfoo.so的文件。

 

-static選項,強制使用靜態(tài)鏈接庫

如果在/home/xiaowp/lib/目錄下有鏈接時所需要的庫文件libfoo.so和libfoo.a

為了讓GCC在鏈接時只用到靜態(tài)鏈接庫,可以使用下面的命令:

gcc -o test test.c -L /home/xiaowp/lib -static -lfoo

 

選項-O可以告訴GCC同時減小代碼的長度和執(zhí)行時間,其效果等價于-O1。

在這一級別上能夠進行的優(yōu)化類型雖然取決于目標處理器,但一般都會包括線程跳轉(zhuǎn)(Thread Jump)和延遲退棧(Deferred Stack Pops)兩種優(yōu)化。

 

選項-O2告訴GCC除了完成所有-O1級別的優(yōu)化之外,同時還要進行一些額外的調(diào)整工作,如處理器指令調(diào)度等。

 

選項-O3則除了完成所有-O2級別的優(yōu)化之外,還包括循環(huán)展開和其它一些與處理器特性相關(guān)的優(yōu)化工作。

 

通常來說,數(shù)字越大優(yōu)化的等級越高,同時也就意味著程序的運行速度越快。

 

許多Linux程序員都喜歡使用-O2選項,因為它在優(yōu)化長度、編譯時間和代碼大小之間,取得了一個比較理想的平衡點。

 

time ./test 查看程序執(zhí)行時間

 

優(yōu)化雖然能夠給程序帶來更好的執(zhí)行性能,但在如下一些場合中應該避免優(yōu)化代碼:

 

程序開發(fā)的時候優(yōu)化等級越高,消耗在編譯上的時間就越長,因此在開發(fā)的時候最好不要使用優(yōu)化選項,只有到軟件發(fā)行或開發(fā)結(jié)束的時候,才考慮對最終生成的代碼進行優(yōu)化。

 

資源受限的時候一些優(yōu)化選項會增加可執(zhí)行代碼的體積,如果程序在運行時能夠申請到的內(nèi)存資源非常緊張(如一些實時嵌入式設(shè)備),那就不要對代碼進行優(yōu)化,因為由這帶來的負面影響可能會產(chǎn)生非常嚴重的后果。

 

跟蹤調(diào)試的時候在對代碼進行優(yōu)化的時候,某些代碼可能會被刪除或改寫,或者為了取得更佳的性能而進行重組,從而使跟蹤和調(diào)試變得異常困難。

加速:

使用管道代替編譯中臨時文件,

-pipe 加速編譯

gcc -pipe foo.c -o foo

 

GCC常用選項

-c 通知GCC取消鏈接步驟,即編譯源碼并在最后生成目標文件;

 

-Dmacro 定義指定的宏,使它能夠通過源碼中的#ifdef進行檢驗;

 

-E 不經(jīng)過編譯預處理程序的輸出而輸送至標準輸出;

 

-g3 獲得有關(guān)調(diào)試程序的詳細信息,它不能與-o選項聯(lián)合使用;

 

-Idirectory 在包含文件搜索路徑的起點處添加指定目錄;

 

-llibrary 提示鏈接程序在創(chuàng)建最終可執(zhí)行文件時包含指定的庫;

 

-O、-O2、-O3 將優(yōu)化狀態(tài)打開,該選項不能與-g選項聯(lián)合使用;

 

-S 要求編譯程序生成來自源代碼的匯編程序輸出;

 

-v 啟動所有警報;

 

-Wall 在發(fā)生警報時取消編譯操作,即將警報看作是錯誤;

 

-Werror 在發(fā)生警報時取消編譯操作,即把報警當作是錯誤;

 

-w 禁止所有的報警。

posted on 2015-03-10 14:47 peakflys 閱讀(90) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統(tǒng)計

公告

人不淡定的時候,就愛表現(xiàn)出來,敲代碼如此,偶爾的靈感亦如此……

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

文章檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一本色道88久久加勒比精品| 国产精品av久久久久久麻豆网 | 国产婷婷色一区二区三区在线| 欧美国产精品久久| 欧美精品免费播放| 欧美人体xx| 国产欧美精品日韩区二区麻豆天美| 国产精品久久久久久久电影| 国产精品尤物福利片在线观看| 国产欧美日韩一区| 精久久久久久久久久久| 亚洲日本中文字幕| 在线观看欧美成人| 亚洲美洲欧洲综合国产一区| 一本色道久久综合狠狠躁篇怎么玩| 91久久精品日日躁夜夜躁国产| 亚洲精品在线观| 亚洲欧美怡红院| 久久琪琪电影院| 亚洲免费成人av| 久久国产精品一区二区三区四区| 久久国产欧美日韩精品| 欧美日韩成人网| 国产综合精品| 亚洲视频一区二区在线观看| 久久久久久网站| 亚洲乱码精品一二三四区日韩在线| 亚洲天堂成人| 你懂的亚洲视频| 国产私拍一区| 亚洲香蕉网站| 亚洲国产精品传媒在线观看 | 精品成人一区二区| 一本色道精品久久一区二区三区| 先锋影音网一区二区| 欧美激情成人在线视频| 亚洲欧美中文另类| 欧美日韩午夜激情| 最新国产成人av网站网址麻豆| 午夜精品久久久久久久男人的天堂| 欧美成人蜜桃| 久久精品中文字幕一区二区三区| 欧美日韩国产一区二区三区| 亚洲成色999久久网站| 久久久久国产精品午夜一区| 亚洲一品av免费观看| 欧美偷拍一区二区| 一区二区三区三区在线| 亚洲国产精品123| 久久这里只精品最新地址| 韩国一区电影| 久久久久成人精品| 欧美尤物一区| 一区在线视频| 欧美成人精品高清在线播放| 久久九九99| 亚洲成人在线| 欧美激情一区| 欧美日本在线看| 在线亚洲美日韩| 在线亚洲电影| 国产精品专区第二| 久久久久欧美| 久久久久一区二区| 欧美一区二区三区视频免费| 亚洲专区一区二区三区| 国产精品人成在线观看免费 | 狠狠色狠狠色综合日日小说| 亚洲欧美日韩精品一区二区| 中文日韩欧美| 国产女主播一区二区| 久久av一区二区三区漫画| 欧美一级黄色网| 亚洲国产精品传媒在线观看 | 欧美aa国产视频| 蜜臀久久99精品久久久久久9| 在线观看成人网| 亚洲国内自拍| 欧美午夜精品久久久久久孕妇 | 欧美激情区在线播放| 9l国产精品久久久久麻豆| 一区二区冒白浆视频| 国产精品人人做人人爽| 久久免费视频一区| 欧美韩日精品| 久久久久久久一区二区三区| 老司机精品福利视频| 亚洲午夜久久久久久久久电影院 | 一区在线视频观看| 亚洲黄色av一区| 国产日韩精品在线| 亚洲激情小视频| 国产欧美三级| 亚洲精品国产精品国自产在线| 欧美视频一区二区| 久久这里只有| 欧美三日本三级三级在线播放| 亚洲欧美成aⅴ人在线观看| 久久精品女人的天堂av| 在线性视频日韩欧美| 久久精品国产清高在天天线| 一本久久知道综合久久| 午夜精品免费在线| 亚洲美女av网站| 欧美一区观看| 亚洲综合日本| 欧美激情1区| 免费国产一区二区| 国产精品区一区二区三区| 亚洲国产一区二区三区青草影视 | 免费在线成人av| 午夜精品久久| 欧美日韩国语| 欧美国产日本在线| 国产日韩在线不卡| 国产精品99久久久久久久vr| 亚洲欧洲精品天堂一级| 久久av一区二区| 午夜久久资源| 欧美亚州一区二区三区 | 欧美一区二区网站| 欧美日韩123| 亚洲欧洲日本一区二区三区| 狠狠爱成人网| 欧美亚洲一区二区三区| 亚洲欧美大片| 国产精品每日更新在线播放网址| 亚洲国内高清视频| 亚洲精华国产欧美| 久久久免费精品| 老牛影视一区二区三区| 狠狠噜噜久久| 噜噜噜躁狠狠躁狠狠精品视频 | 久久午夜视频| 狠狠色狠狠色综合日日tαg| 性久久久久久| 久久婷婷亚洲| 亚洲激情电影在线| 欧美成人一区二区三区在线观看 | 欧美在线一级va免费观看| 国产精品国产三级国产专播品爱网| 亚洲精品一级| 一区二区av| 欧美亚洲第一页| 欧美一二三视频| 欧美国产精品劲爆| 日韩一二三区视频| 国产精品视屏| 久久久久综合网| 亚洲区欧美区| 亚洲小视频在线观看| 国产午夜精品理论片a级探花 | 久久综合狠狠综合久久激情| 欧美α欧美αv大片| 亚洲精品一区在线观看| 欧美日韩在线播放三区四区| 亚洲无亚洲人成网站77777| 久久成人精品无人区| 亚洲第一福利社区| 欧美日韩裸体免费视频| 亚洲一区二区三区高清不卡| 久久国产一区二区| 亚洲精品一区二| 国产日韩亚洲欧美综合| 蜜桃av噜噜一区| 午夜精品久久久| 黄色一区二区三区| 欧美精品福利在线| 欧美亚洲三区| 亚洲精品视频在线播放| 欧美中文在线视频| 亚洲国产欧美一区二区三区丁香婷| 鲁大师成人一区二区三区| 一本色道久久综合狠狠躁篇怎么玩| 欧美一区二区三区成人| 亚洲精品久久久久久久久久久| 欧美日韩一级片在线观看| 欧美综合国产| 99视频在线精品国自产拍免费观看| 久久se精品一区二区| 日韩亚洲一区在线播放| 精品成人a区在线观看| 国产精品99免费看 | 欧美在线3区| 日韩视频一区二区三区在线播放| 久久国产主播精品| 亚洲天堂成人在线视频| 亚洲高清视频在线观看| 国产女优一区| 国产精品wwwwww| 欧美国产另类| 久久这里只有| 久久国产黑丝| 亚洲欧美日韩一区二区在线| 亚洲乱亚洲高清| 亚洲成人在线视频播放 | 欧美成人免费播放| 亚洲免费在线精品一区| 99精品国产在热久久| 亚洲第一毛片|