• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • gcc與g++

    發表于:2007-05-25來源:作者:點擊數: 標簽:linuxg++最重要的GCC
    gcc與g++ Linux 中最重要的軟件開發工具是 GCC。GCC 是 GNU 的 C 和 C++ 編譯器。實際上,GCC 能夠編譯三種語言:C、C++ 和 Object C(C 語言的一種 面向對象 擴展)。利用 gcc 命令可同時編譯并連接 C 和 C++ 源程序。 GCC 可同時用來編譯 C 程序和 C++ 程

    gcc與g++

    Linux 中最重要的軟件開發工具是 GCC。GCC 是 GNU 的 C 和 C++ 編譯器。實際上,GCC 能夠編譯三種語言:C、C++ 和 Object C(C 語言的一種面向對象擴展)。利用 gcc 命令可同時編譯并連接 C 和 C++ 源程序。

    GCC 可同時用來編譯 C 程序和 C++ 程序。一般來說,C 編譯器通過源文件的后綴名來判斷是 C 程序還是 C++ 程序。在 Linux 中,C 源文件的后綴名為 .c,而 C++ 源文件的后綴名為 .C 或 .cpp。

    gcc 命令只能編譯 C++ 源文件,而不能自動和 C++ 程序使用的庫連接。因此,通常使用 g++ 命令來完成 C++ 程序的編譯和連接,該程序會自動調用 gcc 實現編譯。

    選項 解釋
    -ansi 只支持 ANSI 標準的 C 語法。這一選項將禁止 GNU C 的某些特色,
    例如 asm 或 typeof 關鍵詞。
    -c 只編譯并生成目標文件。
    -DMACRO 以字符串“1”定義 MACRO 宏。
    -DMACRO=DEFN 以字符串“DEFN”定義 MACRO 宏。
    -E 只運行 C 預編譯器。
    -g 生成調試信息。GNU 調試器可利用該信息。
    -IDIRECTORY 指定額外的頭文件搜索路徑DIRECTORY。
    -LDIRECTORY 指定額外的函數庫搜索路徑DIRECTORY。
    -lLIBRARY 連接時搜索指定的函數庫LIBRARY。
    -m486 針對 486 進行代碼優化。
    -o FILE 生成指定的輸出文件。用在生成可執行文件時。
    -O0 不進行優化處理。
    -O 或 -O1 優化生成代碼。
    -O2 進一步優化。
    -O3 比 -O2 更進一步優化,包括 inline 函數。
    -shared 生成共享目標文件。通常用在建立共享庫時。
    -static 禁止使用共享連接。
    -UMACRO 取消對 MACRO 宏的定義。
    -w 不生成任何警告信息。
    -Wall 生成所有警告信息。


    GNU 的調試器稱為 gdb

    由于軟件項目越來越大,也增加了軟件項目管理的難度。在開發組中,每個成員都要保留一個副本,在開發中非常容易引起沖突。CVS 就是為了解決這個問題的。
    a、修改同步,防止一名開發人員的修改覆蓋其他人的成果。(check out、read only)

    b、維護不同的版本。(按 version 查找)

    c、可查找歷史記錄。防止 bug 的再引入。(diff)

    CVS 為了解決這個問題,采用的方式是:

    當開發人員對源代碼進行修改時,修改的內容被登記(check in)到了 CVS 倉庫(repository)中。倉庫中保存了代碼的主控副本,以及歷次修改的歷史信息。它不保存文件的每個版本,而只是簡單的記錄發生在每個版本間的不同,節省磁盤空間。它能做到:

    a、使開發人員的目錄和倉庫保持一致??梢园炎约旱男薷奶峤唬╟ommit)給倉庫,讓倉庫更新自己。

    b、允許代碼派生??梢赃M行測試,如果失敗,可以消除所做的修改,維持原結果。

    c、檢索任何一個版本。


    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>