Linux下的主要的C語言編譯器
問題. 而使用較廣的是gcc 2.7.2系列, 如RedHat5中帶的就是gcc 2.7.2.3
有時候在Cyrix上用gcc會有些問題, 因此有一套針對Cyrix特點的gcc 2.7.2.3
我這裡有RedHat5的rpms ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib
(Cyrix 2.7.2.3 & 2.8.1)
其基本結構就是一個front end和back end,
/usr/bin/gcc 就是個front end, 其kernel東西都放在 /usr/lib/gcc-lib下面,
cpp是C前處理器, cc1*的1M多的就是編譯器的核心模組了
cc1 C compiler
cc1plus C++ compiler
cc1obj Object-C compiler
但gcc並沒有整合Fortran的compiler, 一般要用f2c轉成C後才用gcc編譯
好象也還有個g77 Fortran compiler吧?
gcc的不斷髮展完善使許多commercial compiler都相形見絀, 那當然, gcc/emacs
都由GNU創始人Richard Stallman手創, 是GNU的旗艦產品, 質量當然沒得說了:-)
由於 Unix平臺的高度可移植性, gcc幾乎在各種常見的Unix平臺上都有, 即使是
Win32/DOS也有gcc的port. 比如說該死的Solaris普通版本連compiler都沒有, 也
就只好用gcc了...
2. EGCS(Experimental/Enhanced GNU Compiler System)
這是gcc的發展方向, 把fortran等編譯器整合進來, 也許還會有Pascal?
它的構造很清晰, 把對gcc的各種改進/port都整合回去. 如gcc 2.7系列據說是
沒有對Pentium進行優化的, 而egcs則把pgcc對Pentium的一些優化整合進去了
現在gcc的開發工作主要就是egcs, 由Cygnus公司領導(?), 這Cygnus公司還是很
不錯的, 還出了GNU-Win32, SourceNavigator等, 是GNU的堅實擁護者:-))
http://egcs.cygnus.com
包括了C/C++/Obj-C/Fortran 編譯器, 當前最新版本1.0.2, 還在不斷開發中
昨天download發現KDE Beta4都用egcs編譯了 :-)
Fortran整合進來後在/usr/lib/gcc-lib下又多了個f771的back end, 當然
還是g77/f77 編譯
我這裡有egcs 1.0.2 的rpm 在RH5-CD/collect下面
3. PGCC(Pentium GCC)
http://www.gcc.ml.org
針對Pentium CPU進行了編譯器優化的compiler
pgcc據說用JPEG壓縮解壓縮測試最快可比gcc快 30%!
新版的pgcc都是基於egcs的, 以一個patch的形式release
相關推薦
Linux下的C語言開發
xuni autoconf htm 參加 eve http 學習資料 inux c語言開發 工具 學會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不光要學會用它們編輯源碼,還要學會用它們進行查找、定位、替換等。 學會makefile文件的編
linux下編譯c語言教程
準備工作 - Linux系統 - 懂得Linux系統下編輯器vim/vi軟體的使用 - 懂得簡易的c語言程式設計(初次學習的同學可以直接複製文章末尾的原始碼) 總結一下:有Linux系統,會使用Linux系統下的文字編輯器,有一點c語言基礎即可。 建立c語言檔案並編譯
Linux下的C語言函式perror
perror的函式原型為`void perror(const char *s)` 這個函式會先輸出你傳給他的實參 s 所指的字串,後面再加上錯誤原因字串。此錯誤原因依照全域性變數errno 的值來決定要輸出的字串。 在庫函式中有個errno變數,每個errno值對應著以字串表示的錯誤型別。當
linux下的c語言系統函式呼叫
目錄 4.linux下的系統函式的使用 c語言 4.1數學函式的使用 1pow函式 2.exp函式 3.log函式 4.rand()隨機數函式 4.2字元函式的使用 4.3系統時間與日期函式的使用 系統時間 時間間隔 4.4環境控制函式 &nb
Linux下用c語言實現發送http請求 方式可以Get或者Post例程參考
sockaddr select sleep online 創建 線程終止 index -s lse [1].[代碼] Linux下用c語言實現發送http請求 方式可以Get或者Post 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 1
Linux下用c語言實現傳送http請求 方式可以Get或者Post例程參考
[1].[程式碼] Linux下用c語言實現傳送http請求 方式可以Get或者Post 跳至 [1] ? 1 2
第一個linux下的c語言程式
當然是列印hello world啦。 1.vim helloworld.c如下: #include <stdio.h> int main() { char *c; c = "hello world!"; printf("%s\n",c
linux下的C語言開發(程序等待)
【 宣告:版權所有,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 所謂程序等待,其實很簡單。前面我們說過可以用fork建立子程序,那麼這裡我們就可以使用wait函式讓父程序等待子程序執行結束後才開始執行。注意,為了證明父程序確實是等
linux下的C語言開發(訊號處理)
【 宣告:版權所有,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 訊號處理是linux程式的一個特色。用訊號處理來模擬作業系統的中斷功能,對於我們這些系統程式設計師來說是最好的一個選擇了。要想使用訊號處理功能,你要做的就是填寫一個訊
Linux下用c語言實現傳送http請求
前言 在linux下,使用socket進行程式設計,需要到伺服器上進行獲取資料,伺服器使用的php程式設計,需要使用http的方式進行獲取資料。 程式碼 #include <stdio.h> #include <string.h&
linux下用C語言獲取本地時間
一個小專案需要以系統時間(精確到微秒)為變數建立檔名,在網上搜索資料,在stackoverflow上找到了需要的東西,記下來備用 #include <sys/time.h> #include <time.h> #include <stdio
Linux下在C語言中獲取硬碟大小
由於系統中沒有現成的程式碼可以直接獲取某個硬碟的大小,此時可以藉助popen,sscanf,fdisk命令共同完成硬碟大小的獲取。 工件原理如下,在linux中執行fdisk -l命令,獲取硬碟的詳細資訊,然後在C程式中通過popen將資訊獲
linux下的C語言計算程式執行時間
本文從介紹基礎概念入手,探討了在C/C++中對日期和時間操作所用到的資料結構和函式,並對計時、時間的獲取、時間的計算和顯示格式等方面進行了闡述。本文還通過大量的例項向你展示了time.h標頭檔案中宣告的各種函式和資料結構的詳細使用方法。 關鍵字:UTC(世界標準時間
Linux下的C語言程式設計——系統呼叫read和write函式實現檔案拷貝
系統呼叫read和write函式實現檔案拷貝 #include <stdio.h> #include <sys/types.h> #include <sys/st
編寫Linux下用C語言訪問MySQL資料庫的程式
在編寫這個程式的時候我和同學費了很大的力氣特別是在編譯的時候,下面我就把自己編譯的經驗給大家分享一下,希望大家能少走一些彎路。 我自己裝了mysql-5.0.41-linux-i686-glibc23.tar.gz 安裝部分就不說了!
linux下使用c語言刪除指定目錄下所有檔案
http://blog.csdn.net/gitar520/article/details/7582727 我一直以為使用c提供的方法可以跨越平臺,但無疑我是錯的,上次寫的刪除檔案所使用的兩個api——_findfirst和_findnext無法在gcc下使用,但linux
linux下的c語言時間函式clock_gettime
clock_gettime系統呼叫詳解 1.精確級別,納秒級別 2.原型 long sys_clock_gettime (clockid_t which_clock, struct timespec
Linux下的C語言程式設計——簡單實現tcp客戶端和伺服器
以下程式均未做錯誤處理,等有時間一定完善 客戶端 #include <stdio.h> #include <sys/socket.h> #include <stdlib.
Linux下的C語言開發(程序等待)
所謂程序等待,其實很簡單。前面我們說過可以用fork建立子程序,那麼這裡我們就可以使用wait函式讓父程序等待子程序執行結束後才開始執行。注意,為了證明父程序確實是等待子程序執行結束後才繼續執行的,我們使用了sleep函式。但是,在linux下面,sleep函式的引數
Linux下的C語言程式設計——判斷大端小段位元組序
今天學習了大端位元組序:高位元組位放在低地址 小端位元組序:低位元組位放在低地址 例如0x12345678 低地址 高地址 大端位元組序 0x12 0x34 0x56 0x78