ANSI C與C8九、C9九、C11區別差別

不一樣版本標準差別總結(圖片來源:http://www.crifan.com/summary_c_language_version_c89_amd1_c99_c11):編程

如下爲轉載:編程語言

【K&R C】 1978 年,Dennis Ritchie 和 Brian Kernighan 合做推出了《The C Programming Language》的初版(按照慣例,經典著做必定有簡稱,該著做簡稱爲 K&R),書末的參考指南 (Reference Manual) 一節給出了當時 C 語言的完整定義,成爲那時 C 語言事實上的標準,人們稱之爲 K&R C。從這一年之後,C 語言被移植到了各類機型上,並受到了普遍的支持,使 C 語言在當時的軟件開發中幾乎一統天下。ui

【C89 (ANSI C)】 隨着 C 語言在多個領域的推廣、應用,一些新的特性不斷被各類編譯器實現並添加進來。因而,創建一個新的「無歧義、於具體平臺無關的 C 語言定義」 成爲愈來愈重要的事情。1983 年,ASC X3(ANSI 屬下專門負責信息技術標準化的機構,現已更名爲 INCITS)成立了一個專門的技術委員會 J11(J11 是委員會編號,全稱是 X3J11),負責起草關於 C 語言的標準草案。1989 年,草案被 ANSI 正式經過成爲美國國家標準,被稱爲 C89 標準。 設計

【C90 (ISO C)】 隨後, 《The C Programming Language》第二版開始出版發行,書中內容根據 ANSI C(C89)進行了更新。1990 年,在 ISO/IEC JTC1/SC22/WG14 (ISO/IEC 聯合技術第 I 委員會第 22 分委員會第 14 工做組) 的努力下,ISO 批准了 ANSI C 成爲國際標準。因而 ISO C(又稱爲 C90) 誕生了。除了標準文檔在印刷編排上的某些細節不一樣外,ISO C(C90) 和 ANSI C(C89) 在技術上徹底同樣。 blog

【C95】 以後,ISO 在 199四、1996 年 分別出版了 C90 的技術勘誤文檔,更正了一些印刷錯誤,並在1995 年經過了一份 C90 的技術補充,對 C90 進行了微小的擴充,通過擴充後的 ISO C 被稱爲 C95。 圖片

C99 1999 年,ANSI 和 ISO 又經過了最新版本的 C 語言標準和技術勘誤文檔,該標準被稱爲 C99 。這基本上是目前關於 C 語言的最新、最權威的定義了。 ip

    如今,各類 C 編譯器都提供了 C89(C90) 的完整支持,對 C99 還只提供了部分支持,還有一部分提供了對某些 K&R C 風格的支持。  開發

目前主要的C語言規範有c89(c90), c95(94)和c99。C89是最先的C語言規範,於89年提出,90年先由美國國家標準局推出ANSI版本,後來被接納爲ISO國際標準 (ISO/IEC 9899:1990),於是有時也稱爲c90。但在94和96年分別對c90進行了兩次錯誤修正,gcc支持的是修正後的c89(90)版本的C語言規 範。在95年提出過對90版規範的修訂案,稱爲 C95或者AMD1。gcc也支持c95規範。最新的一次C規範修訂在99年制定(ISO/IEC 9899:1999),即常稱的C99規範。在2001年對C99的錯誤進行了修正,gcc支持的修正後的c99規範,可是到目前爲止,gcc尚未完成對c99規範的徹底支持。文檔

另附:C語言起源get

      【起源】 C 語言最先的原型是 ALGOL 60 1963 年,劍橋大學將其發展成爲 CPL(Combined Programing Language)。 1967 年,劍橋大學的 Matin Richards 對 CPL 語言進行了簡化,產生了 BCPL 語言。 1970 年,美國貝爾實驗室(Bell Labs)的 Ken Thompson 將 BCPL 進行了修改,並取名叫作 B 語言,意思是提取 CPL 的精華(Boiling CPL down to its basic good features)。並用 B 語言寫了第一個 UNIX 系統。 1973 年,AT&T 貝爾實驗室的 Dennis Ritchie(D.M.RITCHIE) 在 BCPL 和 B 語言的基礎上設計出了一種新的語言,取 BCPL 中的第二個字母爲名,這就是大名鼎鼎的 C 語言。隨後不久,UNIX 的內核(Kernel) 和應用程序所有用 C 語言改寫,今後,C 語言成爲 UNIX 環境下使用最普遍的主流編程語言。

 

參考文獻:

[1] 維基百科ANSI C

[2] C語言的各類版本:C89,AMD1,C99,C11 【推薦閱讀】

相關文章
相關標籤/搜索