亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gcc.txt

?? linux下c++編程的好文章
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
1.前言 
    GCC編譯器的手冊(GCC MANUAL)的英文版已經(jīng)非常全面,并且結(jié)構(gòu)也非常完善了,只是一直都沒有中文的版本,我這次閱讀了GCC編譯器的主要內(nèi)容,對手冊的內(nèi)容進(jìn)行了結(jié)構(gòu)性的了解,認(rèn)為有必要對這次閱讀的內(nèi)容進(jìn)行整理,為以后的工作做準(zhǔn)備。 

    由于我對這個英文手冊的閱讀也僅僅是結(jié)構(gòu)性的。因此有很多地方并沒有看,所以這篇文檔的內(nèi)容我也只能寫出部分,對于以后需要詳細(xì)了解的地方,會再往這篇文檔中增添內(nèi)容,需要增添的內(nèi)容主要是編譯器的各種開關(guān)。 

2. GCC功能介紹 

    GCC編譯器完成從C、C++、objective-C等源文件向運行在特定CPU硬件上的目標(biāo)代碼的轉(zhuǎn)換(這是任何一個編譯器需要完成的任務(wù))。 

    GCC能夠處理的源文件分為C、C++、Objective-C、匯編語言等。對于這些源文件,用他們的后綴名進(jìn)行標(biāo)示。GCC能夠處理的后綴有: 

a. *.c  *.C      (C語言) 

b. *.cxx   *.cc  (C++語言) 

c. *.m           (面向?qū)ο蟮腃) 

d. *.i           (預(yù)處理后的C語言源文件) 

e. *.ii          (預(yù)處理后的C++語言源文件) 

f. *.s *.S       (匯編語言) 

h. *.h         (頭文件) 

目標(biāo)文件可以是: 

a. *.o     編譯連接后的目標(biāo)文件 

b. *.a     庫文件 

編譯器把編譯生成目標(biāo)代碼的任務(wù)分為以下4步: 

a.預(yù)處理,把預(yù)處理命令掃描處理完畢; 

b.編譯,把預(yù)處理后的結(jié)果編譯成匯編或者目標(biāo)模塊; 

c.匯編,把編譯出來的結(jié)果匯編成具體CPU上的目標(biāo)代碼模塊; 

d.連接,把多個目標(biāo)代碼模塊連接生成一個大的目標(biāo)模塊; 

3.  GCC開關(guān) 

    GCC的運行開關(guān)共分為11類,這是類開關(guān)從11個方面控制著GCC程序的運行,以達(dá)到特定的編譯目的。 

3.1.  全局開關(guān)(OVERALL OPTIONS) 

    全局開關(guān)用來控制在“GCC功能介紹”中的GCC的4個步驟的運行,在缺省的情況下,這4個步驟都是要執(zhí)行的,但是當(dāng)給定一些全局開關(guān)后,這些步驟就會在某一步停止執(zhí)行,這產(chǎn)生中間結(jié)果,例如可能你只是需要中間生成的預(yù)處理的結(jié)果或者是匯編文件(比如擬的目的是為了看某個CPU上的匯編語言怎么寫)。 

3.1.1.  –x  language 

    對于源文件是用什么語言編寫的,可以通過文件名的后綴來標(biāo)示,也可以用這開關(guān)。指定輸入文件是什么語言編寫的,language 可以是如下的內(nèi)容 

a.  c 

b. objective-c 

c. c-header 

d. c++ 

e.cpp-output 

f.assembler 

g.assembler-with-cpp 

3.1.2.–x none 

把上一節(jié)介紹的-x開關(guān)都給關(guān)掉了。 

3.1.3.  –c 

編譯成把源文件目標(biāo)代碼,不做連接的動作。 

3.1.4. –S 

把源文件編譯成匯編代碼,不做匯編和連接的動作。 

3.1.5. –E 

只把源文件進(jìn)行預(yù)處理之后的結(jié)果輸出來。不做編譯,匯編,連接的動作。 

3.1.6.  –o file 

指明輸出文件名是file。 

3.1.7. –v 

把整個編譯過程的輸出信息都給打印出來。 

3.1.8.–pipe 

由于gcc的工作分為好幾步才完成,所以需要在過程中生成臨時文件,使用-pipe就是用管道替換臨時文件。 

3.2.  語言相關(guān)開關(guān)(Language Options) 

用來處理和語言相關(guān)的控制開關(guān)。 

3.2.1.–ansi 

    這個開關(guān)讓GCC編譯器把所有的gnu的編譯器特性都給關(guān)掉,讓你的程序可以和ansi標(biāo)準(zhǔn)兼容。 

    除了以上的開關(guān)外,語言相關(guān)開關(guān)還有很多,如果在以后的工作學(xué)習(xí)中遇到了再加不遲!3.3.預(yù)處理開關(guān)(Preprocessor Options) 

用來控制預(yù)處理所設(shè)置的開關(guān)。 

3.3.1. –include file 

    在編譯之前,把file包含進(jìn)去,相當(dāng)于在所有編譯的源文件最前面加入了一個#include <file>語句,這樣做更“省油”。 

3.3.2. –imacros file 

    同-include file 一樣。不過這個文件在具體編譯的時候只有里面定義的宏才起作用,所以值用來在file文件里面定義宏。 

3.3.3. –nostdinc 

    在搜尋include 的文件路徑中去掉標(biāo)準(zhǔn)的c語言頭文件搜索路徑,例如stdio.h文件就是放在標(biāo)準(zhǔn)頭文件搜索路徑下。 

3.3.4.  –nostdinc++ 

    同上,只是去掉的是標(biāo)準(zhǔn)C++語言的頭文件搜索路徑。 

3.3.5. –C 

    同-E參數(shù)配合使用。讓預(yù)處理后的結(jié)果,把注釋保留,讓人能夠比較好讀它。 

3.3.6. –Dmacro 

    把macro定義為字符串’1’。 

3.3.7. –Dmacro = defn 

    把macro定義為defn。 

3.3.8.  –Umacro 

    把對macro的定義取消。 

    除了以上的開關(guān)外,預(yù)處理相關(guān)開關(guān)還有很多,如果在以后的工作學(xué)習(xí)中遇到了再加不遲! 

3.4.   匯編開關(guān)(Assembler Option) 

    用來控制匯編行為的開關(guān)。 

3.4.1.  –Wa , option 

    把option作為開關(guān)送給匯編程序。如果option里面有逗號,則作為好幾行進(jìn)行處理。 

3.5.連接開關(guān)(Linker Options) 

    用來控制連接過程的開關(guān)選項。 

3.5.1. object-file-name 

3.5.2. –llibrary 

    連接庫文件開關(guān)。例如-lugl,則是把程序同libugl.a文件進(jìn)行連接。 

3.5.3. –lobjc 

    這個開關(guān)用在面向?qū)ο蟮腃語言文件的庫文件處理中。 

3.5.4.  –nostartfiles 

    在連接的時候不把系統(tǒng)相關(guān)的啟動代碼連接進(jìn)來。 

3.5.5.   –nostdlib 

    在連接的時候不把系統(tǒng)相關(guān)的啟動文件和系統(tǒng)相關(guān)的庫連接進(jìn)來。 

3.5.6. –static 

    在一些系統(tǒng)上支持動態(tài)連接,這個開關(guān)則不允許動態(tài)連接。 

3.5.7. –shared 

    生成可共享的被其他程序連接的目標(biāo)模塊。 

    連接相關(guān)的開關(guān)還有一些,以后需要的時候再補。 

3.6.目錄相關(guān)開關(guān)(Directory Options) 

    用于定義與目錄操作相關(guān)的開關(guān)。 

3.6.1. –Idir 

    宏include需要搜尋的目錄。 

3.6.2.–I- 

    與-I開關(guān)類似。 

3.6.3.–Ldir 

    搜尋庫文件(*.a)的路徑。 

    和目錄相關(guān)的開關(guān)還有很多,以后需要再加。 

3.7. 警告開關(guān)(Warning Options) 

    與警告處理相關(guān)的開關(guān)。 

3.7.1.–fsyntax-only 

    只檢查代碼中的語法錯誤,但并沒有輸出。 

3.7.2. –w 

    禁止一切警告信息打印出來。 

3.7.3. –Wno-import 

    禁止對宏#import提出警告。 

3.7.4. –pedantic 

3.7.5.  –pedantic-errors 

3.7.6.  –W 

   還有很多與警告處理相關(guān)的開關(guān),以后再補。 

3.8. 調(diào)試開關(guān)(Debugging Options) 

3.8.1.–g 

    把調(diào)試開關(guān)打開,讓編譯的目標(biāo)文件有調(diào)試信息。 

    還有很多與調(diào)試處理相關(guān)的開關(guān),以后再補。 

3.9. 優(yōu)化開關(guān)(Optimization Options) 

    -O1 –O2 –O3 –O0,這些開關(guān)分別控制優(yōu)化的強度,-O3最強。 

3.10. 目標(biāo)機(jī)開關(guān)(Target Options) 

3.10.1. –b machine 

    在有的時候,Gcc編譯器編譯出來的目標(biāo)代碼并不是在運行這個編譯動作的機(jī)器上運行而是另外一臺機(jī)器,這種編譯叫做交叉編譯,用來運行最終目標(biāo)代碼的得機(jī)器叫做目標(biāo)機(jī),machine就是用來指明目標(biāo)機(jī)的類型的。 

3.10.2.  –V version 

    用來告訴編譯器使用它的多少版本的功能,version參數(shù)用來表示版本。 

3.11.   CPU相關(guān)開關(guān)(Machine Dependent Options) 

    比較多,也是在交叉編譯的時候用得著。以后再說。 

3.12. 生成代碼開關(guān)(Code Generation Options) 
 
********************************************************************************************

GCC 使用指南
使用語法:

  gcc [ option | 20041012141827.htm ]... 
  g++ [ option | 20041012141827.htm ]... 

  其中 option 為 gcc 使用時的選項(后面會再詳述), 
  而 20041012141827.htm 為欲以 gcc 處理的文件 

說明: 

  這 C 與 C++ 的 compiler 已將產(chǎn)生新程序的相關(guān)程序整合起來。產(chǎn) 
生一個新的程序需要經(jīng)過四個階段:預(yù)處理、編譯、匯編、連結(jié),而這兩
個編譯器都能將輸入的文件做不同階段的處理。雖然原始程序的擴(kuò)展名可
用來分辨編寫原始程序碼所用的語言,但不同的compiler,其預(yù)設(shè)的處理
程序卻各不相同:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97se亚洲国产综合在线| 亚洲精品一二三四区| 奇米亚洲午夜久久精品| 欧美日韩不卡一区| 亚洲第一二三四区| 欧美日本在线视频| 亚洲午夜精品一区二区三区他趣| jizz一区二区| 国产精品国产三级国产普通话蜜臀| 国产一区二区伦理| 久久久不卡网国产精品一区| 国产精品一级黄| 久久在线观看免费| 国产91精品一区二区麻豆亚洲| 日韩欧美中文字幕制服| 麻豆一区二区99久久久久| 日韩欧美激情在线| 国产在线播放一区| 国产视频亚洲色图| 成人激情黄色小说| 一区二区三区四区不卡视频| 在线国产电影不卡| 天堂资源在线中文精品| 欧美一区二区三区不卡| 麻豆91在线播放| 久久亚洲精品国产精品紫薇| 高清在线成人网| 亚洲激情成人在线| 欧美肥妇bbw| 国产成人av电影在线观看| 中文字幕日韩精品一区| 欧美日韩一区在线| 美腿丝袜亚洲三区| 欧美激情中文不卡| 欧美视频一区二区| 精品在线免费视频| 亚洲人成网站精品片在线观看| 欧美三级日韩在线| 麻豆精品在线观看| 精品成人免费观看| 成人av在线电影| 一区二区免费看| 日韩欧美美女一区二区三区| 成人污污视频在线观看| 亚洲一区二区在线播放相泽 | 五月激情六月综合| 精品福利一区二区三区免费视频| 成人免费看视频| 亚洲成a天堂v人片| 国产精品国产三级国产普通话三级 | 日韩毛片在线免费观看| 欧美精品在线视频| 国产在线精品一区二区不卡了| 中文字幕一区二区三区不卡在线| 91超碰这里只有精品国产| 国产成人亚洲综合a∨猫咪| 亚洲精品ww久久久久久p站| 日韩精品专区在线影院重磅| 色激情天天射综合网| 国内精品视频666| 一区二区三区不卡在线观看| 国产网站一区二区三区| 欧美猛男超大videosgay| 懂色一区二区三区免费观看| 日韩经典一区二区| 亚洲欧美日韩中文播放| 久久看人人爽人人| 91麻豆精品国产自产在线观看一区| 成人污污视频在线观看| 麻豆精品蜜桃视频网站| 亚洲超碰精品一区二区| 亚洲天堂精品在线观看| 精品99一区二区| 欧美三级资源在线| 成人综合婷婷国产精品久久蜜臀 | 中日韩av电影| 欧美不卡一区二区三区| 欧美三电影在线| 色老汉av一区二区三区| 成人激情免费视频| 国产黄色成人av| 老司机免费视频一区二区三区| 午夜欧美视频在线观看| 亚洲柠檬福利资源导航| 国产精品盗摄一区二区三区| 久久精品无码一区二区三区| 日韩手机在线导航| 欧美精品日韩精品| 欧美日本一区二区| 欧美精品xxxxbbbb| 91精品啪在线观看国产60岁| 欧美日韩国产电影| 欧美群妇大交群中文字幕| 色综合天天综合网天天看片| 国产成人精品免费网站| 国产东北露脸精品视频| 国产成人99久久亚洲综合精品| 国精产品一区一区三区mba视频 | 亚洲精品ww久久久久久p站| 中文字幕欧美激情一区| 中文文精品字幕一区二区| 国产区在线观看成人精品 | 欧美色爱综合网| 欧美三级视频在线| 欧美精品黑人性xxxx| 91麻豆精品国产综合久久久久久| 欧美日韩成人激情| 国产精品无码永久免费888| 久久久电影一区二区三区| 国产精品美女久久福利网站| 国产精品午夜在线| 又紧又大又爽精品一区二区| 伊人色综合久久天天人手人婷| 亚洲国产日日夜夜| 美女一区二区三区| 国产精品亚洲第一区在线暖暖韩国| 国产成人av网站| 94色蜜桃网一区二区三区| 在线国产电影不卡| 欧美视频在线一区| 精品欧美乱码久久久久久1区2区| 欧美不卡视频一区| 久久久.com| 亚洲欧美日韩综合aⅴ视频| 亚洲国产综合色| 精品一区免费av| 成人免费va视频| 在线观看国产91| 欧美成人精品高清在线播放| 国产精品免费视频网站| 亚洲综合激情网| 九九视频精品免费| 色综合久久中文字幕综合网| 欧美电影影音先锋| 国产欧美综合色| 夜夜亚洲天天久久| 国产中文一区二区三区| 一本一道综合狠狠老| 精品久久久久久最新网址| 国产精品久久久久久亚洲毛片| 亚洲图片欧美色图| 国产一区二区三区精品欧美日韩一区二区三区| 国产精品1区2区| 4438x成人网最大色成网站| 亚洲国产成人私人影院tom| 日韩经典中文字幕一区| 99在线视频精品| 日韩精品一区二区三区四区 | 亚洲成av人片一区二区三区| 激情欧美日韩一区二区| 欧美影院午夜播放| 国产日韩欧美精品一区| 亚洲精品网站在线观看| 精久久久久久久久久久| 99精品国产热久久91蜜凸| 日韩欧美一级精品久久| 伊人一区二区三区| 粉嫩久久99精品久久久久久夜| 91精品国产色综合久久不卡电影| 欧美韩国日本不卡| 精品亚洲欧美一区| 欧美视频一二三区| 亚洲美女在线国产| 国产v日产∨综合v精品视频| 精品久久久久久无| 久久99精品久久久久婷婷| 日韩午夜电影av| 久久国产视频网| 久久综合狠狠综合久久综合88 | 久久蜜臀中文字幕| 国产精品一区久久久久| 国产日韩亚洲欧美综合| 成人av在线网站| 亚洲免费三区一区二区| 欧美综合亚洲图片综合区| 亚洲一级在线观看| 欧美高清你懂得| 美国毛片一区二区| www久久精品| 国产69精品久久777的优势| 中文欧美字幕免费| 色欧美88888久久久久久影院| 亚洲摸摸操操av| 7777精品伊人久久久大香线蕉超级流畅 | 91成人免费网站| 午夜av电影一区| 日韩精品资源二区在线| 国产v综合v亚洲欧| 亚洲卡通欧美制服中文| 欧美日韩视频在线观看一区二区三区 | 男女男精品视频| 久久久精品日韩欧美| 91影院在线免费观看| 亚洲国产另类av| 欧美tickling网站挠脚心| 成人免费毛片a| 视频在线观看91| 国产日韩综合av| 欧美色电影在线| 国产99久久精品|