乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      gcc使用

       zm8208 2010-01-27

      一、基本信息

             1.  gcc --version查看系統(tǒng)上安裝GCC信息。

            

      二、使用

             1,gcc -Wall test.c   -Wall 選項用于在編譯過程出問題時輸出警告信息。

                  gcc -Wall test.c -o test.elf    -o 選項用于指定輸出的文件名。

      2,把源代碼真正傳給編譯器這前,預(yù)處理器會執(zhí)行預(yù)處理指令,展開源代碼中的宏。A, -E選項可以在預(yù)處理完成時停下gcc使用-o選項可以把預(yù)處理的結(jié)果存到一個文件中。

      gcc –E test.c –o test.i

      常用的選項有

      B, -Dname[=definition]   配合源代碼中的#ifdef name #endif預(yù)處理指令,可以實現(xiàn)條件編譯。

      C,-Uname 取消name定義。

      D,-Idirectory[:directory[…]]可以定義多個目錄用冒號分開?

      E,對源文件中的#include目錄的搜索順序為。

      1)源代碼目錄

      2)用-I指定的目錄

      3)環(huán)境變量C_INCLUDE_PATHCPATH指定的目錄。

      4)系統(tǒng)默認(rèn)的include目錄。

      3,編譯。GCC一般會把匯編語言輸出到臨時文件,并且在匯編器執(zhí)行完后立刻刪除,但可以使用-S選項,讓編譯程序在輸出匯編之后停止。

      gcc –S test.c

      4, 匯編。這個過程把匯編語言翻譯成二進(jìn)制文件二進(jìn)制文件是一個對像文件,包含機(jī)器執(zhí)行源文件指定的功能,還包含一個符號表,這個符號表描述源文件中有外部鏈接的所有對象。

      A,-c 選項使得GCC不會鏈接此程序,而是產(chǎn)生對象文件。

      B,GCC –Wa 選項把命令行參數(shù)傳遞給匯編器,比如我們希望匯編器使用-as=circle.sym選項??梢赃@樣寫

      gcc –v –o circle –Wa,-as=circle.sym.-L circle.c   -Wa后面有一個逗號,后面是選項列表,選項這間不能有空格。注意這個L選項不是GCC中的L選項。

      5,鏈接,把多個二進(jìn)制文件鏈接成一個可執(zhí)行文件,在鏈接過程中必須完成程序中多個模塊之間的外部參考,把“參考符號”用對象實際的位置代換。簡單說鏈接就是把多個對象文件放在一個文件中。

      有些庫可能不在GCC搜索路徑,有三種方法可以讓GCC找到這些庫。

      1),指定庫的完整路徑名

      2),使用-L選項指定路徑。

      3),把目錄加到LIBRARY_PATH環(huán)境變量中。

      6,文件類型。

      當(dāng)不是按照GCC的常用命名來命名源文件時可以用-x file_type選項來指明GCC如何對待這些文件??梢栽谝粋€命令行時多次使用-x選項,-x none會取消這些指示。

       

      7,動態(tài)鏈接庫??梢允褂?/span>GCC-shared選項建立。程序運(yùn)時要能找到這些動態(tài)庫。以下兩種:A,加到程序運(yùn)行的搜索PAHT中,B,用LD_LIBRARY_PATH指定路徑。

       

      8,獨(dú)立程序。

       

      9編譯器警告:

      -Werror 選項把警告當(dāng)作出錯處理。-W開頭的選項啟用大部分警告,

      Wswitch-default當(dāng)switch語句沒有default卷標(biāo),此選項會發(fā)出警告。

      -Wall啟用大部分警告,但不是所有。例-Wshadow一個語句塊的作用域內(nèi)的變量與更大作用域的變量重名時會發(fā)出警告。

      -Wextra會對合法但值得懷疑的地方發(fā)出警告。

       

      10,優(yōu)化,

      -O0關(guān)閉所有優(yōu)化選項

      -O ,-O1

      -O2

      -O3

      -Os優(yōu)化占用空間,性能沒有優(yōu)化。

       

      -f可以在選擇一種優(yōu)化而關(guān)閉其中的一些優(yōu)化技術(shù)。

       

      11,用于特定架構(gòu)的選項。

       

      12 調(diào)試,可以使用-g選項允許GCC在對象文件和執(zhí)行文件中包含符號表和源代碼行號信息。

       

      13,剖析,使用-p選項會在程序中加入一個特別的函數(shù),在執(zhí)行時輸出剖析信息。可以通過剖析信息了解哪些函數(shù)最耗時。剖析信息存成一個名為mon.out文件,可以使用prof工具分析。

       

       

       

      14 環(huán)境變量

      CPATH,C_INCLUDE_PATH

      COMPILER_PATH

      GCC_EXEC_PREFIX

      LIBRARY_PATH

      LD_LIBRARY_PATH

      TMPDIR

       

      各種先項參見《C語言核心技術(shù)》521頁或GCC參考手冊。

       

       

       

       

       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多