
介紹與基本概念
|
9
何改變。最新版的 ISO 標準,C++11(之前稱為 C++0x,但後來採用較樂觀的發表日
期),預示著眾多語言的來臨,而且對標準程式庫做了許多改進,並增加了許多功能—
多到,許多評論者認為,相較於之前的 C++ 的修訂版,C++11 是一個截然不同的語言。
Linux 與這些標準
如稍早所述,Linux 的目標鎖定 POSIX 和 SUS 的相容性。它提供了 SUSv4 和 POSIX
2008 所規範的介面,包括可選用的即時(POSIX.1b)和執行緒(POSIX.1c)功能。更
重要的是,Linux 努力地讓自己的行為符合 POSIX 及 SUS 的要求。一般而言,與標準
不符的地方皆被視為瑕疵。Linux 被認為符合 POSIX.1 與 SUSv3 標準,但是它並未正式
通過 POSIX 或 SUS 的認證(特別是 Linux 的每個本版以及每個修訂版),所以我不能正
式地說 Linux 與 POSIX 或 SUS 相容。
程式語言方面的標準,Linux 有不錯的進展。
gcc
(C 編譯器)支援 ISO C99 標準;C11
的支援正在進行中。
g++
(C++ 編譯器)與 ISO C++03 相容,而 C++11 的支援正在開
發中。此外,
gcc
及
g++
還提供了自己對 C 及 C++ 語言所做的擴充。這些擴充統稱為
GNU C
,相關細節可參考本書附錄 A。
Linux 的向上相容性(forward compatibility)並沒有什麼偉大的歷史,
2
儘管近來它有
很不錯的進展 ...