1. 程式人生 > >【linux開發工具】除了gcc, 還有哪些常用的牛逼的編譯器(不限制程式語言, 不限制平臺).

【linux開發工具】除了gcc, 還有哪些常用的牛逼的編譯器(不限制程式語言, 不限制平臺).

  • MSVC

Windows平臺上最常用的編譯器,在C++編譯器聖戰中的勝利者。隨著微軟釋出基於Clang/C2,這一條路以後若成功MSVC與Clang/C2並行甚至逐步退出舞臺是很有可能的。

  • Clang

licence極度友好,程式碼質量非常棒,採用的IR為LLVM IR非常優秀,各大公司逐步發力在Clang上,包括不限於微軟,IBM,Nvidia等,各大公司也在開始瘋狂的往Clang / LLVM交程式碼(圈地),也開始往Clang實現OpenMP,Nvidia GPU等支援,目前在趕超GCC的道路上一路激情的狂奔,前途一片光明。但是Clang依賴於的LLVM,目前的效能無法與GCC相提辯論,在Benchmark效能測試上幾乎沒有勝利的專案,優化的道路上任重道遠,同時一些開源軟體沒有辦法編譯過去,主要是缺乏對GCC 一些Builtin函式、自身帶的彙編器的孱弱導致。

  • GCC/G++

跨體系結構很多,很多開源軟體預設編譯器都是GCC/G++,這一點上Clang比不上。

  • ICC

沒有自己專門的前端(傳說中的外包),而且是針對Intel體系結構上專門優化。

  • IBM XL C++

在IBM特定硬體與平臺上表現非常牛逼,Benchmark效能測試非常優秀,其最初的設計思想就是為了效能,其最高優化級別可以達到O5,帶來的缺點則是在編譯時間上往往過長。而另外一個常被人詬病的是對C++標準的支援、開源軟體的支援、錯誤資訊的提示上都不夠友好,然而從13.2開始,隨著IBM採用Clang融合方案,目前這幾項都得到有效改良,然而融合的道路也必定是漫長的,以前的歷史包袱等也需要背上。