GNU 是一款能用於構建類 Unix 操做系統的計算機軟件合集,由自由軟件之父 Richard Stallman 開創,於 1983 年 9 月 27 日對外發布。GNU 徹底由自由軟件(free software)構成。
GNU 語法擴展源自於 GCC 編譯器,在 1987 年發佈 1.0 版本,稱爲 GNU C Compiler。隨後,GCC 編譯器前端支持了 C++、Objective-C/C++、Fortran、Ada、Java 以及最近躍升的 Go 等編程語言,所以如今 GCC 被稱爲 GNU Compiler Collection。
因爲在 20 世紀 90 年代,GNU C 編譯器就對 C90 標準作了至關多的語法擴展,包括複合字面量、匿名結構體和數組、可指定的初始化器等,這些語法擴展被普遍使用,尤爲是大量用於 Linux 內核代碼中,所以 C99 標準將這些語法特性全都列入標準之中。
正由於 GCC 自己是開源自由軟件,所以不少商用編譯器也基於 GCC 進行擴展,例如:
像 ARM 的 RVCT(RealView Compiler Toolkit)自己就支持 GNU 擴展;