心隨心動---GCC的發展之路
轉自csdn http://www.csdn.net/subject/gcc/ 不經意間,GCC已發展到了4.0的版本,盡管在軟件 開發 社區之外乏人聞問,但因為GCC在幾乎所有 開源 軟件和自由軟件中都會用到,因此它的編譯 性能 的漲落會直接影響到Linux 、Firefox 乃至于OpenOffice.org和Apac
轉自csdn http://www.csdn.net/subject/gcc/
不經意間,GCC已發展到了4.0的版本,盡管在軟件開發社區之外乏人聞問,但因為GCC在幾乎所有開源軟件和自由軟件中都會用到,因此它的編譯性能的漲落會直接影響到Linux 、Firefox 乃至于OpenOffice.org和Apache等幾千個項目的開發。因此,把GCC擺在開源軟件的核心地位是一點也不為過。另一方面,GCC4.0的出現,正在牽引著廣大程序員們的心。如果我們非要用一個詞來說明GCC與程序員之間的關系,那無疑是"心隨心動"。
- 歷史篇
- 作為自由軟件的旗艦項目,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 對于各種硬件平臺的支持,概括起來就是一句話:無所不在。幾乎所有有點實際用途的硬件平臺,甚至包括有些不那么有實際用途的硬件平臺。
Gcc 簡介
Linux系統下的gcc(GNU C Compiler)是GNU推出的功能強大、性能優越的多平臺編譯器,是GNU的代表作品之一。Gcc是可以在多種硬體平臺上編譯出可執行程序的超級編譯器,其執行效率與一般的編譯器相比平均效率要高20%~30%。
GCC 3.0印象記
從1999年4月開始,GCC的含義從GNU C Compiler變成了GNU Compiler Collection,支持C、C++、Objective C、Chill、Fortan和Java等語言。其中C++編譯器G++當然是我們關注的焦點。從GCC網站的介紹中可以看出,G++作了不少改進,更好地支持C++標準。我們將選出相關的內容逐一評論。我們對GCC 3.0的總體印象是,有不少改進,但"革命尚未成功",還得加把勁兒。 - 技術篇
- GCC是整個協作軟件開發理念的基礎,時至今日,GCC的使用范圍已不僅僅限于Linux平臺,而是擴展到了包括Windows在內的很多平臺。這樣,GCC性能的高低,還關系到許多專有軟件的核心競爭力。
Linux上安裝GCC編譯器過程
在cygwin下安裝gcc4.0
要想讀懂本文,你需要對C語言有基本的了解,本文將介紹如何使用gcc編譯器。首先,我們介紹如何在命令行方式下使用編譯器編譯簡單的C源代碼。然后,我們簡要介紹一下編譯器究竟作了那些工作,以及如何控制編譯過程。我們也簡要介紹了調試器的使用方法。
GCC 中文手冊
GCC中SIMD指令的應用方法
X86架構上的多媒體應用開發,如果能夠使用SIMD指令進行優化, 性能將大大提高。目前,IA-32的SIMD指令包括MMX,SSE,SSE2等幾級。 在GCC的開發環境中,有幾種使用SIMD指令的方式……
GCC常用命令描述- unix下開發常用的編譯工具gcc,我對于gcc的了解知道的很少,
一般用到的也就是gcc -o xx xx.cpp
今天翻了一下gnu的gcc manual 花了點時間總結了一下,
給大家分享一下!呵呵,希望對大家有幫助.
這里介紹一下gcc的常用命令選項(可以參考gnu gcc manual).
1. gcc 支持的語言.
GCC 全稱是GNU Compiler Collection ,包含一些主要編譯器支持語言 C, C++, Objective-C, Java, Fortran, and Ada的編譯.
2.gcc 命令選項
當執行gcc的時候通常會經過四個處理過程,preprocessing, compilation, assembly and linking .可以通過加不同的選項來中止到某個過程.
a.總的選項.
-c -S -E -o file -pipe -pass-exit-codes
-x language -v -### --help --target-help --version
編譯器編譯文件要經過四個階段,如上所述.是按順序來進行的.
編譯器根據輸入文件的后綴來決定進入哪個階段的處理過程:
file.c c 文件要經過豫處理.
file.i c源文件不必進行豫處理。
file.ii c++源文件不必進行豫處理。
file.h c/c++豫編譯頭文件.
file.cc
file.cp
file.cxx
file.cpp
file.CPP
file.c++
file.C c++源文件要經過豫處理.
file.hh
file.H c++頭文件轉換為豫處理頭文件.
file.s
Assembler code.
file.S
Assembler code which must be preprocessed
-x language =========選項是為了指定語言告訴gcc 文件是什么語言的,
不必要缺省的后綴識別.
languge 可以是:
c c-header cpp-output
c++ c++-header c++-cpp-output
objective-c objective-c-header objc-cpp-output
assembler assembler-with-cpp
ada
f77 f77-cpp-input ratfor
java
treelang
-x none 用后綴識別,關閉語言識別.
-c 只是編譯不連接,生成的都是目標文件. .c, .i, .s ==> .o
-S 只是編譯不進行匯編,生成匯編代碼. .c, .i ==>.s
-E 只是進行豫編譯,不做其他處理.
-o file 把輸出文件輸出到file里.
-v 打印出編譯器內部編譯的各個過程的命令行信息.和編譯器的版本.
-### 同上,但是不真正執行命令.
-pipe 編譯器編譯時各個階段的信息是保存到臨時文件的,如果你不想
用臨時文件的話可以通過管道也行.這個命令選項就用上了.不過有些系統不支持.
Gcc使用的內嵌匯編語法格式小教程
本文對內嵌匯編語法,從基本語法、內嵌匯編的格式介紹、和擴展的內嵌匯編格式進行了詳細說明,需要說明的是gcc采用的是at&t的匯編格式。 - 現狀篇
- GCC4.0的發展道路并不平坦。GCC 4.0發布不久就因為無法編譯Linux圖形界面KDE,而遭到參與開發KDE的程序員們的放棄。但是,一方面,GCC4.0編譯性能的提高,是有目共睹的。另一方面,開源軟件的一大優勢,就在于它能在開發者的不斷改進中變得完善。
開源開發工具GCC將大翻修 性能有望全面提升
改良GCC 并非易事,從GCC 3.3 版升級到3.4 版,在性能上雖然有進步,但卻造成回溯兼容性的問題。GCC4.0在這方面又做得如何呢?
開源利器GCC 4.0性能改進工作火熱進行
GCC 4.0發布不久就遇到問題,Linux圖形界面KDE無法用GCC編譯,參與開發KDE的程序員們隨即放棄了GCC 4.0。這些問題又如何解決呢?
原文轉自:http://www.kjueaiud.com
- 評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
-
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|