本書中文版在博客來有售http://www.books.com.tw/products/0010627071
,作者Ken Klemens有在自由軟體協會(Free Software Foundation)兼職。這點引起來筆者的好奇。
本書分兩部分,12章。讓筆者都很感興趣,第一部分是環境,想看看一流的老手對GNU 程式開發環境及打包工具的使用是很好幫助的。
第二部分是語言,而最重要的部分是第7章,可以忽略的C語言語法。
而前言裏,講述了C語言的各種標準。
K&R 標準,1978,
ANSI 89。
ISO C99。
C11。由這點,可以看出,不同於其他年輕的語言,C語言經過40年的開發過程,做了4次的標準化,到底自己寫的程式符合那種標準呢,這是個好問題 。
再來是
POSIX標準,
從英文原文書擷錄:
This standard, first established by the Institute of Electrical and Electronics Engi-
neers (IEEE) in 1988, provided a common basis for Unix-like operating systems.
POSIX最早由電子電機協會於1988建立,提供類UNIX作業系統的基準。
It specifies how the shell should work, what to expect from commands like ls and
grep , and a number of C libraries that C authors can expect to have available.
它規範了shell該如何作用,像ls, grep一類的指令該有什麼輸出,一些C的函式庫是C作者可以擁有的。
For example, the pipes that command-line users use to string together commands are
specified in detail here, which means C’s popen (pipe open) function is POSIX-
standard, not ISO C standard.
例如管線的指令在這裏有詳細的描述,popen函數是POSIX標準而不是ISO C標準。
The POSIX standard has been revised many times;
the version as of this writing is POSIX:2008, and is what I am referring to when I
say that something is POSIX-standard. A POSIX-standard system must have a C
compiler available, via the command name c99 .
最近的標準是POSIX:2008, 也是本書作者所依據的。
小結:本書作者所謂的21世紀C語言,即參照最新的標準而言。