前言 本文譯自《Slackware linux Unleashed》(第三版) 一書(shū)的第27章: PRogramming in C. 關(guān)于本譯文有任何的話請(qǐng)與我聯(lián)系: mailto:con@nease.net.
linux的發(fā)行版中包含了很多軟件開(kāi)發(fā)工具. 它們中的很多是用于 C 和 C++應(yīng)用程序開(kāi)發(fā)的. 本文介紹了在 Linux 下能用于 C 應(yīng)用程序開(kāi)發(fā)和調(diào)試的工具. 本文的主旨是介紹如何在 Linux 下使用 C 編譯器和其他 C 編程工具, 而非 C 語(yǔ)言編程的教程. 在本文中你將學(xué)到以下知識(shí):
* 什么是 C * GNU C 編譯器 * 用 gdb 來(lái)調(diào)試GCC應(yīng)用程序
你也能看到隨 linux 發(fā)行的其他有用的 C 編程工具. 這些工具包括源程序美化程序(pretty print programs), 附加的調(diào)試工具, 函數(shù)原型自動(dòng)生成工具(automatic function prototypers).
注重: 源程序美化程序(pretty print programs)自動(dòng)幫你格式化源代碼產(chǎn)生始終如一的縮進(jìn)格式. 什么是 C? C 是一種在 UNIX 操作系統(tǒng)的早期就被廣泛使用的通用編程語(yǔ)言. 它最早是由貝爾實(shí)驗(yàn)室的 Dennis Ritchie 為了 UNIX 的輔助開(kāi)發(fā)而寫(xiě)的, 開(kāi)始時(shí) UNIX 是用匯編語(yǔ)言和一種叫 B 的語(yǔ)言編寫(xiě)的. 從那時(shí)候起, C 就成為世界上使用最廣泛計(jì)算機(jī)語(yǔ)言.
C 能在編程領(lǐng)域里得到如此廣泛支持的原因有以下一些:
* 它是一種非常通用的語(yǔ)言. 幾乎你所能想到的任何一種計(jì)算機(jī)上都有至少一種能用的 C 編譯器. 并且它的語(yǔ)法和函數(shù)庫(kù)在不同的平臺(tái)上都是統(tǒng)一的, 這個(gè)特性對(duì)開(kāi)發(fā)者來(lái)說(shuō)很有吸引力. * 用 C 寫(xiě)的程序執(zhí)行速度很快. * C 是所有版本的UNIX上的系統(tǒng)語(yǔ)言.
C 在過(guò)去的二十年中有了很大的發(fā)展. 在80年代末期美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(American National Standards Institute)發(fā)布了一個(gè)被稱為 ANSI C 的 C 語(yǔ)言標(biāo)準(zhǔn).這更加保證了將來(lái)在不同平臺(tái)上的 C 的一致性. 在80年代還出現(xiàn)了一種 C 的面向?qū)ο蟮臄U(kuò)展稱為 C++. C++ 將在另一篇文章 "C++ 編程"中描述.
linux 上可用的 C 編譯器是 GNU C 編譯器, 它建立在自由軟件基金會(huì)的編程許可證的基礎(chǔ)上, 因此可以自由發(fā)布. 你能在 Linux 的發(fā)行光盤上找到它.
GNU C 編譯器 隨 Slackware linux 發(fā)行的 GNU C 編譯器(GCC)是一個(gè)全功能的 ANSI C 兼容編譯器. 假如你熟悉其他操作系統(tǒng)或硬件平臺(tái)上的一種 C 編譯器, 你將能很快地把握 GCC. 本節(jié)將介紹如何使用 GCC 和一些 GCC 編譯器最常用的選項(xiàng).