日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《C语言编程魔法书:基于C11标准》——1.3 主流C语言编译器介绍

發布時間:2023/12/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《C语言编程魔法书:基于C11标准》——1.3 主流C语言编译器介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節書摘來自華章計算機《C語言編程魔法書:基于C11標準》一書中的第1章,第1.3節,作者: 陳軼 更多章節內容可以訪問云棲社區“華章計算機”公眾號查看。

1.3 主流C語言編譯器介紹

對于當前主流桌面操作系統而言,可使用Visual C++、GCC以及LLVM Clang這三大編譯器。其中,Visual C++(簡稱MSVC)只能用于Windows操作系統;其余兩個,除了可用于Windows操作系統之外,主要用于Unix/Linux操作系統。像現在很多版本的Linux都默認使用GCC作為C語言編譯器。而像FreeBSD、macOS等系統默認使用LLVM Clang編譯器。由于當前LLVM項目主要在Apple的主推下發展的,所以在macOS中,Clang編譯器又被稱為Apple LLVM編譯器。MSVC編譯器主要用于Windows操作系統平臺下的應用程序開發,它不開源。用戶可以使用Visual Studio Community版本來免費使用它,但是如果要把通過Visual Studio Community工具生成出來的應用進行商用,那么就得好好閱讀一下微軟的許可證和說明書了。而使用GCC與Clang編譯器構建出來的應用一般沒有任何限制,程序員可以將應用程序隨意發布和進行商用。不過由于MSVC編譯器對C99標準的支持就十分有限,加之它壓根不支持任何C11標準,所以本書的代碼例子不會針對MSVC進行描述。所幸的是,Visual Studio Community 2017加入了對Clang編譯器的支持,官方稱之為——Clang with Microsoft CodeGen,當前版本基于的是Clang 3.8。也就是說,應用于Visual Studio集成開發環境中的Clang編譯器前端可支持Clang編譯器的所有語法特性,而后端生成的代碼則與MSVC效果一樣,包括像long整數類型在64位編譯模式下長度仍然為4個字節,所以各位使用的時候也需要注意。為了方便描述,本書后面涉及Visual Studio集成開發環境下的Clang編譯器簡稱為VS-Clang編譯器。
而在嵌入式系統方面,可用的C語言編譯器就非常豐富了。比如用于Keil公司51系列單片機的Keil C51編譯器;當前大紅大紫的Arduino板搭載的開發套件,可用針對AVR微控制器的AVR GCC編譯器;ARM自己出的ADS(ARM Development Suite)、RVDS(RealView Development Suite)和當前最新的DS-5 Studio;DSP設計商TI(Texas Instruments)的CCS(Code Composer Studio);DSP設計商ADI(Analog Devices,Inc.)的Visual DSP++編譯器,等等。通常,用于嵌入式系統開發的編譯工具鏈都沒有免費版本,而且一般需要通過國內代理進行購買。所以,這對于個人開發者或者嵌入式系統愛好者而言是一道不低的門檻。不過Arduino的開發套件是可免費下載使用的,并且用它做開發板連接調試也十分簡單。Arduino所采用的C編譯器是基于GCC的。還有像樹莓派(Raspberry Pi)這種迷你電腦可以直接使用GCC和Clang編譯器。此外,還有像nVidia公司推出的Jetson TK系列開發板也可直接使用GCC和Clang編譯器。樹莓派與Jetson TK都默認安裝了Linux操作系統。在嵌入式領域,一般比較低端的單片機,比如8位的MCU所對應的C編譯器可能只支持C90標準,有些甚至連C90標準的很多特性都不支持。因為它們一方面內存小,ROM的容量也小;另一方面,本身處理器機能就十分有限,有些甚至無法支持函數指針,因為處理器本身不包含通過寄存器做間接過程調用的指令。而像32位處理器或DSP,一般都至少能支持C99標準,它們本身的性能也十分強大。而像ARM出的RVDS編譯器甚至可用GNU語法擴展。
圖1-1展示了上述C語言編譯器的分類。



總結

以上是生活随笔為你收集整理的《C语言编程魔法书:基于C11标准》——1.3 主流C语言编译器介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。