1. 程式人生 > >Linux下的主要的C語言編譯器

Linux下的主要的C語言編譯器

   大名鼎鼎的GNU的C/C++/Obj-C編譯器, 當前版本是2.8.1, 但據說與2.7.*有相容性 
   問題. 而使用較廣的是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

相關推薦

LinuxC語言開發

xuni autoconf htm 參加 eve http 學習資料 inux c語言開發 工具 學會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不光要學會用它們編輯源碼,還要學會用它們進行查找、定位、替換等。 學會makefile文件的編

linux編譯c語言教程

準備工作 - Linux系統 - 懂得Linux系統下編輯器vim/vi軟體的使用 - 懂得簡易的c語言程式設計(初次學習的同學可以直接複製文章末尾的原始碼) 總結一下:有Linux系統,會使用Linux系統下的文字編輯器,有一點c語言基礎即可。 建立c語言檔案並編譯

LinuxC語言函式perror

perror的函式原型為`void perror(const char *s)` 這個函式會先輸出你傳給他的實參 s 所指的字串,後面再加上錯誤原因字串。此錯誤原因依照全域性變數errno 的值來決定要輸出的字串。 在庫函式中有個errno變數,每個errno值對應著以字串表示的錯誤型別。當

linuxc語言系統函式呼叫

目錄 4.linux下的系統函式的使用 c語言 4.1數學函式的使用 1pow函式 2.exp函式 3.log函式 4.rand()隨機數函式 4.2字元函式的使用 4.3系統時間與日期函式的使用 系統時間 時間間隔 4.4環境控制函式 &nb

Linuxc語言實現發送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

Linuxc語言實現傳送http請求 方式可以Get或者Post例程參考

[1].[程式碼] Linux下用c語言實現傳送http請求 方式可以Get或者Post 跳至 [1] ? 1 2

第一個linuxc語言程式

當然是列印hello world啦。  1.vim helloworld.c如下: #include <stdio.h> int main() { char *c; c = "hello world!"; printf("%s\n",c

linuxC語言開發(程序等待)

                【 宣告:版權所有,歡迎轉載,請勿用於商業用途。  聯絡信箱:feixiaoxing @163.com】    所謂程序等待,其實很簡單。前面我們說過可以用fork建立子程序,那麼這裡我們就可以使用wait函式讓父程序等待子程序執行結束後才開始執行。注意,為了證明父程序確實是等

linuxC語言開發(訊號處理)

                【 宣告:版權所有,歡迎轉載,請勿用於商業用途。  聯絡信箱:feixiaoxing @163.com】    訊號處理是linux程式的一個特色。用訊號處理來模擬作業系統的中斷功能,對於我們這些系統程式設計師來說是最好的一個選擇了。要想使用訊號處理功能,你要做的就是填寫一個訊

Linuxc語言實現傳送http請求

前言 在linux下,使用socket進行程式設計,需要到伺服器上進行獲取資料,伺服器使用的php程式設計,需要使用http的方式進行獲取資料。 程式碼 #include <stdio.h> #include <string.h&

linuxC語言獲取本地時間

一個小專案需要以系統時間(精確到微秒)為變數建立檔名,在網上搜索資料,在stackoverflow上找到了需要的東西,記下來備用 #include <sys/time.h> #include <time.h> #include <stdio

LinuxC語言中獲取硬碟大小

        由於系統中沒有現成的程式碼可以直接獲取某個硬碟的大小,此時可以藉助popen,sscanf,fdisk命令共同完成硬碟大小的獲取。         工件原理如下,在linux中執行fdisk -l命令,獲取硬碟的詳細資訊,然後在C程式中通過popen將資訊獲

linuxC語言計算程式執行時間

本文從介紹基礎概念入手,探討了在C/C++中對日期和時間操作所用到的資料結構和函式,並對計時、時間的獲取、時間的計算和顯示格式等方面進行了闡述。本文還通過大量的例項向你展示了time.h標頭檔案中宣告的各種函式和資料結構的詳細使用方法。  關鍵字:UTC(世界標準時間

LinuxC語言程式設計——系統呼叫read和write函式實現檔案拷貝

 系統呼叫read和write函式實現檔案拷貝 #include <stdio.h> #include <sys/types.h> #include <sys/st

編寫LinuxC語言訪問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

linuxc語言時間函式clock_gettime

clock_gettime系統呼叫詳解 1.精確級別,納秒級別 2.原型 long sys_clock_gettime (clockid_t which_clock, struct timespec

LinuxC語言程式設計——簡單實現tcp客戶端和伺服器

以下程式均未做錯誤處理,等有時間一定完善 客戶端 #include <stdio.h> #include <sys/socket.h> #include <stdlib.

LinuxC語言開發(程序等待)

 所謂程序等待,其實很簡單。前面我們說過可以用fork建立子程序,那麼這裡我們就可以使用wait函式讓父程序等待子程序執行結束後才開始執行。注意,為了證明父程序確實是等待子程序執行結束後才繼續執行的,我們使用了sleep函式。但是,在linux下面,sleep函式的引數

LinuxC語言程式設計——判斷大端小段位元組序

今天學習了大端位元組序:高位元組位放在低地址                   小端位元組序:低位元組位放在低地址 例如0x12345678    低地址              高地址       大端位元組序      0x12 0x34 0x56 0x78