<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    GCC常用參數

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接 GCC--GNU C Compiler c語言編譯器(遠不止c語言)

    介紹:

    作為自由軟件的旗艦項目,Richard Stallman 在十多年前剛開始寫作 GCC 的時候,還只是把它當作僅僅一個C 程序語言的編譯器;GCC 的意思也只是 GNU C Compiler 而已。經過了這么多年的發展,GCC 已經不僅僅能支持 C 語言;它現在還支持 Ada 語言,C++ 語言,Java 語言,Objective C 語言,Pascal 語言,COBOL 語言,以及支持函數式編程和邏輯編程的 Mercury 語言,等等。而 GCC 也不再單只是 GNU C 語言編譯器的意思了,而是變成了 GNU Compiler Collection 也即是 GNU 編譯器家族的意思了 
    另一方面,說到 GCC 對于各種硬件平臺的支持,概括起來就是一句話:無所不在。幾乎所有有點實際用途的硬件平臺,甚至包括有些不那么有實際用途的硬件平臺,比如 Don Knuth 設計的 MMIX 計算機,GCC 都提供了完善的支持。 
    如果把我們自己的程序語言的實現建立于 GCC 之上,也立刻使得我們的程序語言的實現版本可以運行在幾乎所有有用的硬件平臺之上。這對于程序語言的作者來說,也是一個確實的有極大誘惑力的好處。   GCC常用選項

    選項 
    含義

    --help 
    --target-help 
    顯示 gcc 幫助說明。‘target-help’是顯示目標機器特定的命令行選項。

    --version 
    顯示 gcc 版本號和版權信息 。

    -o outfile 
    輸出到指定的文件。

    -x language 
    指明使用的編程語言。允許的語言包括:c c++ assembler none 。 ‘none’意味著恢復默認行為,即根據文件的擴展名猜測源文件的語言。

    -v 
    打印較多信息,顯示編譯器調用的程序。

    -### 
    與 -v 類似,但選項被引號括住,并且不執行命令。

    -E 
    僅作預處理(code.i),不進行編譯、匯編和鏈接。

    -S 
    僅編譯到匯編語言(code.s),不進行匯編和鏈接。

    -c 
    編譯、匯編到目標代碼(code.o),不進行鏈接。

    -pipe 
    使用管道代替臨時文件。

    -combine 
    將多個源文件一次性傳遞給匯編器。

     

    其他GCC選項

    更多有用的GCC選項:

    命令 
    描述

    -shared  生成共享目標文件。通常用在建立共享庫時。
    -static
    禁止使用共享連接。

    -l library 
    -llibrary 
    進行鏈接時搜索名為library的庫。 
    例子: $ gcc test.c -lm -o test

    -Idir 
    把dir 加入到搜索頭文件的路徑列表中。 
    例子: $ gcc test.c -I../inc_dir -o test

    -Ldir 
    把dir 加入到搜索庫文件的路徑列表中。 
    例子: $ gcc -I/home/foo -L/home/foo -ltest test.c -o test

    -Dname 
    預定義一個名為name 的宏,值為1。 
    例子: $ gcc -DTEST_CONFIG test.c -o test

    -Dname =definition 
    預定義名為name ,值為definition 的宏。

    -ggdb 
    -ggdblevel 
    為調試器 gdb 生成調試信息。level 可以為1,2,3,默認值為2。

    -g 
    -glevel 
    生成操作系統本地格式的調試信息。-g 和 -ggdb 并不太相同, -g 會生成 gdb 之外的信息。level 取值同上。

    -Wall 

    會打開一些很有用的警告選項,建議編譯時加此選項。

    -w 
    禁止顯示所有警告信息。  

    Optimization

    -O0 
    禁止編譯器進行優化。默認為此項。

    -O 
    -O1 
    嘗試優化編譯時間和可執行文件大小。

    -O2 
    更多的優化,會嘗試幾乎全部的優化功能,但不會進行“空間換時間”的優化方法。

    -O3 
    在 -O2 的基礎上再打開一些優化選項:-finline-functions, -funswitch-loops 和 -fgcse-after-reload 。

    -Os  對生成文件大小進行優化。它會打開 -O2 開的全部選項,除了會那些增加文件大小的。   Standard

    -ansi 
    支持符合ANSI標準的C程序。這樣就會關閉GNU C中某些不兼容ANSI C的特性。

    -std=c89 
    -iso9899:1990 
    指明使用標準 ISO C90 作為標準來編譯程序。

    -std=c99 
    -std=iso9899:1999 
    指明使用標準 ISO C99 作為標準來編譯程序。

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全