[英]Xcode 3.2.1 GCC CLANG and LLVM demystification
本周新Xcode 3.2.1附帶的自述文件如下:
我們公司現有的項目是純C,Objective-C和Objective-C ++,適用於台式機和iphone。 有人可以在高層次上總結LLVM,GCC,CLANG,CLANG-LLVM,WordFoo等的差異。 人。 並解釋它們是什么以及我們何時應該使用它們以及用於什么? 鏈接到更詳細的解釋會很好,但我真的只是在尋找一個高級概述。
簡而言之:
編譯器基本上分為兩部分。 一個是包含編程語言的解析器和語義分析的前端。 前端產生代碼的某種中間表示。 然后是后端,它接收前端產生的東西,優化它,最終生成匯編代碼。
clang(Objective-)C ++支持遠未完成,因此在遇到C ++源文件時會調用llvm-gcc。 它還包含現在集成到Xcode中的靜態分析器。 有人說LLVM的后端產生比GCC更好的代碼,但你的里程可能會有所不同。 LLVM還支持鏈接時優化(您可以在Xcode的項目設置中啟用)。 它們可能產生更快的代碼。
Apple希望將來用GCC代替GCC,因為他們有針對GPLv3許可代碼的政策(GCC 4.2是根據GPLv2許可的最后一個版本)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.