《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > arm-linux-gcc 常用參數講解 gcc編譯器使用方法

arm-linux-gcc 常用參數講解 gcc編譯器使用方法

2015-09-18
關鍵詞: arm-linux-gcc 編譯器

  我們需要編譯出運行在ARM平臺上的代碼,所使用的交叉編譯器arm-linux-gcc。下面將arm-linux-gcc編譯工具的一些常用命令參數介紹給大家。
  在此之前首先介紹下編譯器的工作過程,在使用GCC編譯程序時,編譯過程分為四個階段:
  1. 預處理(Pre-Processing)
  2. 編譯(Compiling)
  3. 匯編(Assembling)
  4. 鏈接(Linking)
  Linux程序員可以根據自己的需要讓 GCC在編譯的任何階段結束,以便檢查或使用編譯器在該階段的輸出信息,或者對最后生成的二進制文件進行控制,以便通過加入不同數量和種類的調試代碼來為 今后的調試做好準備。和其它常用的編譯器一樣,GCC也提供了靈活而強大的代碼優化功能,利用它可以生成執行效率更高的代碼。
  以文件example.c為例說明它的用法
  0. arm-linux-gcc -o example example.c
  不加-c、-S、-E參數,編譯器將執行預處理、編譯、匯編、連接操作直接生成可執行代碼。
  -o參數用于指定輸出的文件,輸出文件名為example,如果不指定輸出文件,則默認輸出a.out
  1. arm-linux-gcc -c -o example.o example.c
  -c參數將對源程序example.c進行預處理、編譯、匯編操作,生成example.0文件
  去掉指定輸出選項"-o example.o"自動輸出為example.o,所以說在這里-o加不加都可以
  2.arm-linux-gcc -S -o example.s example.c
  -S參數將對源程序example.c進行預處理、編譯,生成example.s文件
  -o選項同上
  3.arm-linux-gcc -E -o example.i example.c
  -E參數將對源程序example.c進行預處理,生成example.i文件(不同版本不一樣,有的將預處理后的內容打印到屏幕上)
  就是將#include,#define等進行文件插入及宏擴展等操作。
  4.arm-linux-gcc -v -o example example.c
  加上-v參數,顯示編譯時的詳細信息,編譯器的版本,編譯過程等。
  5.arm-linux-gcc -g -o example example.c
  -g選項,加入GDB能夠使用的調試信息,使用GDB調試時比較方便。
  6.arm-linux-gcc -Wall -o example example.c
  -Wall選項打開了所有需要注意的警告信息,像在聲明之前就使用的函數,聲明后卻沒有使用的變量等。
  7.arm-linux-gcc -Ox -o example example.c
  -Ox使用優化選項,X的值為空、0、1、2、3
  0為不優化,優化的目的是減少代碼空間和提高執行效率等,但相應的編譯過程時間將較長并占用較大的內存空間。
  8.arm-linux-gcc   -I /home/include -o example example.c
  -Idirname: 將dirname所指出的目錄加入到程序頭文件目錄列表中。如果在預設系統及當前目錄中沒有找到需要的文件,就到指定的dirname目錄中去尋找。
  9.arm-linux-gcc   -L /home/lib -o example example.c
  -Ldirname:將dirname所指出的目錄加入到庫文件的目錄列表中。在默認狀態下,連接程序ld在系統的預設路徑中(如/usr/lib)尋找所需要的庫文件,這個選項告訴連接程序,首先到-L指定的目錄中去尋找,然后再到系統預設路徑中尋找。
  10.arm-linux-gcc -static -o libexample.a example.c
  靜態鏈接庫文件
  gcc在命令行上經常使用的幾個選項是:
  -c   只預處理、編譯和匯編源程序,不進行連接。編譯器對每一個源程序產生一個目標文件。
  -o file  確定輸出文件為file。如果沒有用-o選項,缺省的可執行文件的輸出是a.out,目標文件和匯編文件的輸出對source.suffix分別是source.o和source.s,預處理的C源程序的輸出是標準輸出stdout。
  -Dmacro或-Dmacro=defn   其作用類似于源程序里的#define。例如:% gcc -c -DHAVE_GDBM -DHELP_FILE=\"help\" cdict.c其中第一個- D選項定義宏HAVE_GDBM,在程序里可以用#ifdef去檢查它是否被設置。第二個-D選項將宏HELP_FILE定義為字符串“help”(由于反斜線的作用,引號實際上已成為該宏定義的一部分),這對于控制程序打開哪個文件是很有用的。
  -Umacro   某些宏是被編譯程序自動定義的。這些宏通常可以指定在其中進行編譯的計算機系統類型的符號,用戶可以在編譯某程序時加上 -v選項以查看gcc缺省定義了哪些宏。如果用戶想取消其中某個宏定義,用-Umacro選項,這相當于把#undef macro放在要編譯的源文件的開頭。
  -Idir   將dir目錄加到搜尋頭文件的目錄列表中去,并優先于在gcc缺省的搜索目錄。在有多個-I選項的情況下,按命令行上-I選項的前后順序搜索。dir可使用相對路徑,如-I../inc等。
  -O   對程序編譯進行優化,編譯程序試圖減少被編譯程序的長度和執行時間,但其編譯速度比不做優化慢,而且要求較多的內存。
  -O2   允許比-O更好的優化,編譯速度較慢,但結果程序的執行速度較快。
  -g   產生一張用于調試和排錯的擴展符號表。-g選項使程序可以用GNU的調試程序GDB進行調試。優化和調試通常不兼容,同時使用-g和-O(-O2)選項經常會使程序產生奇怪的運行結果。所以不要同時使用-g和-O(-O2)選項。
  -fpic或-fPIC   產生位置無關的目標代碼,可用于構造共享函數庫。
  以上是gcc的編譯選項。gcc的命令行上還可以使用連接選項。事實上,gcc將所有不能識別的選項傳遞給連接程序ld。連接程序ld將幾個目標文件和庫程序組合成一個可執行文件,它要解決對外部變量、外部過程、庫程序等的引用。但我們永遠不必要顯式地調用ld。利用gcc命令去連接各個文件是很簡單的,即使在命令行里沒有列出庫程序,gcc也能保證某些庫程序以正確的次序出現。
  gcc的常用連接選項有下列幾個:
  -Ldir   將dir目錄加到搜尋-l選項指定的函數庫文件的目錄列表中去,并優先于gcc缺省的搜索目錄。在有多個-L選項的情況下,按命令行上-L選項的前后順序搜索。dir可使用相對路徑。如-L../lib等。
  -lname   在連接時使用函數庫libname.a,連接程序在-Ldir選項指定的目錄下和/lib,/usr/lib目錄下尋找該庫文件。在沒有使用-static選項時,如果發現共享函數庫libname.so,則使用libname.so進行動態連接。
  -static   禁止與共享函數庫連接。
  -shared   盡量與共享函數庫連接

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久成人这里只有精品| 欧美亚洲视频| 日韩系列在线| 久久亚洲精品视频| 蜜臀久久99精品久久久画质超高清| 亚洲国产精品悠悠久久琪琪| 91久久久精品| 久久久亚洲国产美女国产盗摄| 欧美网站在线| 亚洲国产cao| 国产一区二区三区在线观看免费视频| 99re66热这里只有精品3直播| 日韩香蕉视频| 亚洲国产一区二区视频| 亚洲国产精品久久人人爱蜜臀| 欧美国产日韩一区二区三区| 久久一二三国产| 亚洲精选一区二区| 欧美视频一区在线观看| 久久久久久夜精品精品免费| 男人的天堂亚洲| 欧美专区在线| 国产免费成人av| 狠狠色综合色综合网络| 欧美成人xxx| 亚洲第一精品福利| 欧美电影免费观看网站| 欧美成人在线免费观看| 亚洲美女免费精品视频在线观看| 午夜精彩国产免费不卡不顿大片| 欧美一级在线播放| 亚洲伊人伊色伊影伊综合网| 亚洲人成网在线播放| 欧美视频久久| 欧美一区二区在线免费播放| 国产欧美一区二区精品仙草咪| 欧美一区二区免费观在线| 国产精品乱码人人做人人爱| 欧美日韩久久久久久| 在线亚洲一区| 欧美午夜精品久久久久久浪潮| 欧美亚洲视频| 欧美精品1区2区| 国产精品久久久一区二区三区| 国产欧美日韩综合精品二区| 夜夜躁日日躁狠狠久久88av| 欧美日韩国产区| 亚洲国产成人精品视频| 狠狠狠色丁香婷婷综合久久五月| 久久综合九色综合久99| 国产精品揄拍500视频| 欧美日韩精品在线观看| 91久久香蕉国产日韩欧美9色| 亚洲自拍偷拍视频| 国产精品免费视频xxxx| 欧美在线一区二区三区| 亚洲人人精品| 欧美尤物一区| 欧美福利专区| 国产亚洲在线| 亚洲一区www| 亚洲高清三级视频| 一区二区三区欧美成人| 亚洲激情视频网站| 亚洲视频www| 99riav久久精品riav| 亚洲一级片在线观看| 国产视频精品xxxx| 亚洲高清免费在线| 国产精品永久入口久久久| 免费的成人av| 国内精品视频666| 亚洲免费久久| 国产亚洲精品v| 欧美福利视频网站| 久久九九精品99国产精品| 最新日韩欧美| 欧美成人dvd在线视频| 狠狠色丁香婷婷综合久久片| 欧美视频在线不卡| 国产精品99久久不卡二区| 亚洲一区bb| 亚洲国产中文字幕在线观看| 欧美黄网免费在线观看| 欧美在线免费一级片| 美国三级日本三级久久99| 欧美精品在线免费播放| 欧美国产日韩一区二区在线观看| 久久影院亚洲| 久久九九国产精品怡红院| 中文欧美在线视频| 欧美日韩国产二区| 看片网站欧美日韩| 亚洲精品一区二区在线| 午夜精品一区二区在线观看| 欧美精品成人| 国产自产高清不卡| 亚洲欧美资源在线| 国产精品一区视频| 国内精品伊人久久久久av一坑| 国产精品―色哟哟| 亚洲精品久久久久久一区二区| 欧美午夜片在线免费观看| 国产精品免费看| 精品成人一区二区三区四区| 中文网丁香综合网| 亚洲网站啪啪| 欧美日韩大片一区二区三区| 国产精品一区二区三区久久久| 久久久国产精彩视频美女艺术照福利| 国产在线精品一区二区夜色| 亚洲一区三区在线观看| 久久在线观看视频| 99精品国产在热久久婷婷| 99热这里只有成人精品国产| 欧美在线一二三四区| 欧美一区二区性| 狠狠色狠狠色综合日日91app| 久久久午夜视频| 亚洲国产一区二区三区a毛片| 蜜桃av噜噜一区| 在线观看精品一区| 久久综合一区二区| 精品av久久707| 国产精品色网| 国外视频精品毛片| 国产亚洲午夜高清国产拍精品| 国产精品国产成人国产三级| 亚洲激情午夜| 亚洲在线中文字幕| 久久精品二区三区| 亚洲激情在线播放| 亚洲美女福利视频网站| 久久久久久久久久久久久女国产乱| 久久女同精品一区二区| 免费视频一区| 午夜欧美不卡精品aaaaa| 欧美成人亚洲成人日韩成人| 亚洲午夜国产成人av电影男同| 欧美高清视频一区二区三区在线观看| 亚洲精品国产精品国自产观看| 久久婷婷国产综合精品青草| 欧美午夜精品久久久久久久| 国产欧美一区二区精品忘忧草| 欧美另类在线观看| 欧美阿v一级看视频| 欧美国产日韩免费| 国产欧美日韩一区二区三区在线| 久久这里有精品15一区二区三区| 久久久国产视频91| 久久天天躁夜夜躁狠狠躁2022| 久久精品国内一区二区三区| 亚洲美女视频在线观看| 国产啪精品视频| 亚洲国内自拍| 欧美日本高清| 久久夜色精品一区| 日韩视频不卡中文| 欧美日韩三级一区二区| 国产一区二区三区不卡在线观看| 欧美一区二区大片| 99国产精品久久久久老师| 欧美成年人网| 欧美日韩中文字幕| 欧美日韩一卡| 欧美mv日韩mv国产网站app| 国产目拍亚洲精品99久久精品| 一区二区冒白浆视频| 国产精品wwwwww| 亚洲日本中文| 亚洲欧洲日本一区二区三区| 亚洲风情亚aⅴ在线发布| 久久午夜色播影院免费高清| 亚洲欧美成人一区二区在线电影| 最近中文字幕mv在线一区二区三区四区| 蜜桃精品久久久久久久免费影院| 一区二区三区|亚洲午夜| 欧美日韩伦理在线| 久久久女女女女999久久| 蜜臀av一级做a爰片久久| 99爱精品视频| 亚洲精品日韩激情在线电影| 欧美成人精品在线| 久久精品主播| 国产精品久久久久9999吃药| 亚洲一区二区三区色| 男男成人高潮片免费网站| 国产日韩精品在线| 麻豆精品视频在线观看视频| 国产精品久久久久毛片大屁完整版| 篠田优中文在线播放第一区| 国产九色精品成人porny| 欧美亚州一区二区三区| 久久精彩免费视频| 国产精品亚洲综合天堂夜夜| 欧美高清成人| 欧美 日韩 国产一区二区在线视频| 久久久噜噜噜久久狠狠50岁| 欧美激情区在线播放| 国产精品日韩一区| 久久精品系列| 亚洲日本中文字幕| 在线不卡中文字幕播放| 国产精品久久久久久久9999| 国产美女精品一区二区三区| 国产午夜精品福利| 久久精品国产免费看久久精品| 伊人狠狠色j香婷婷综合| 国产亚洲一区二区三区| 欧美中文字幕精品| 日韩视频在线你懂得| 欧美三级日本三级少妇99| 国产日韩一区二区三区在线| 欧美不卡视频一区发布| 在线不卡中文字幕| 午夜精品久久久久久99热| 亚洲女性裸体视频| 国产精品大片免费观看| 欧美激情一二区| 欧美日韩理论| 99精品黄色片免费大全| 9久re热视频在线精品| 午夜精品99久久免费| 国产日韩欧美综合在线| 国产一区二区三区黄视频| 国产午夜精品美女毛片视频| 亚洲视频一区二区| 黑人巨大精品欧美一区二区| 亚洲视频欧美在线| 欧美亚洲系列| 免费观看久久久4p| 欧美1级日本1级| 欧美一级大片在线免费观看| 国内精品视频666| 老司机久久99久久精品播放免费| 亚洲私人影吧| 欧美日韩在线亚洲一区蜜芽| 亚洲精选成人| 91久久综合| 黄色成人av网站| 国产欧美一区二区白浆黑人| 葵司免费一区二区三区四区五区| 国产精品自在线| 在线播放中文字幕一区| 欧美性做爰毛片| 亚洲一级电影| 欧美日韩亚洲网| 在线激情影院一区| 在线成人免费观看| 国产精品v欧美精品v日韩精品| 欧美黑人多人双交| 亚洲手机成人高清视频| 一本色道久久综合一区| 亚洲欧美视频| 亚洲欧洲一区二区三区| 欧美午夜激情在线| 午夜精品久久久久久久99水蜜桃| 香蕉免费一区二区三区在线观看| 亚洲精品乱码久久久久久蜜桃麻豆| 黄色亚洲在线| 国产视频一区二区在线观看| 欧美日韩妖精视频| 久久久久亚洲综合| 亚洲一区在线免费| 国产一区二区视频在线观看| 欧美波霸影院| 欧美三级视频在线| 一区二区三区国产| 亚洲国产人成综合网站| 亚洲精品国产日韩| 亚洲男人的天堂在线观看| 欧美日韩激情小视频| 亚洲乱码国产乱码精品精可以看| 亚洲国产高清一区| 国产亚洲视频在线观看| 亚洲欧美日韩天堂| 国产精品推荐精品| 亚洲日本精品国产第一区| 欧美视频一区在线观看| 亚洲欧美日韩精品久久奇米色影视| 欧美人与性动交cc0o| 久久av免费一区| 黄色一区二区三区| 欧美激情一区二区三区蜜桃视频| 最近中文字幕mv在线一区二区三区四区| 欧美日韩一区二区视频在线观看| 麻豆成人精品| 国产精品成av人在线视午夜片| 国产亚洲欧美一区| 亚洲欧洲一区二区三区| 欧美日韩精选| 亚洲深夜福利网站| 欧美一区二区三区视频免费| 鲁鲁狠狠狠7777一区二区| 一区二区三区视频在线播放| 久久久一本精品99久久精品66| 激情综合中文娱乐网| 亚洲深夜福利| 欧美精品在线观看| 免费欧美高清视频| 99视频热这里只有精品免费| 欧美chengren| 国产精品羞羞答答xxdd| 国产精品日韩专区| 欧美freesex交免费视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产午夜精品久久久久久久| 欧美日韩国产探花| 亚洲欧美日韩天堂一区二区| 欧美风情在线观看| 国产中文一区二区| 国产精品黄色| 亚洲欧美日韩一区二区| 久久综合九色| 久久蜜桃精品| 亚洲高清在线| 欧美视频在线播放| 欧美国产日韩a欧美在线观看| 在线观看日韩av先锋影音电影院| 欧美日韩国产亚洲一区| 国产视频在线观看一区二区三区| 欧美视频四区| 亚洲缚视频在线观看| 欧美护士18xxxxhd| 国产视频久久久久久久| 久久免费高清视频| 亚洲电影自拍| 极品少妇一区二区|