2011-12-19 14 views
5

我將在C中專門工作。Ubunutu 10.10將從其存儲庫檢索Clang 2.8版並完全安裝它。我已經從源代碼編譯了Clang v 3.1,並將它添加到了路徑中(卸載Clang 2.8後),但沒有這種方式訪問​​它的手冊頁,偶爾也有一些關於沒有完全「安裝它」的嘮叨感覺,儘管它在某些測試中似乎是完全可用的。對於C開發人員,Clang版本2.8和3.1之間的任何實際區別?

從C開發人員(實際上是學生)的角度來看,版本2.8和3.1之間是否存在實際差異?我只用C語言工作,並不會使用它的C++或客觀C語言功能。我相信最近Clang的大部分開發都在擴展它的C++能力。

+0

你爲什麼不閱讀發行說明並告訴我們你找到了什麼? – 2011-12-19 03:14:50

+0

我認爲優化和警告確實有所改善(即使是C)。同樣,對於GCC最近的演變。 – 2011-12-19 06:15:34

回答

2

我發現的顯着差異是2.8 VLA函數參數使編譯器轉儲核心。在2.9版本(因此在3.1中我想)這個bug似乎是固定的。

另外這個較新版本的clang已經實現了C11的一部分,特別是_Generic

+0

http://gustedt.wordpress.com/2011/01/13/vla-as-function-arguments/ – 2012-04-29 01:51:43

+0

注意:一些C11功能已經可以在gng/icc轉儲核心中使用clang(3.1),最顯着的是指定匿名結構和聯盟的初始化 – hroptatyr 2012-04-29 08:36:18

+0

@hroptatyr:但是許多擴展名缺失。現在在C++上Clang比在C上好多了。 – 2012-05-01 18:18:48

相關問題