當前位置:首頁 » 編程軟體 » clang編譯器

clang編譯器

發布時間: 2022-01-13 03:14:17

❶ unix下C編譯器版本如何查看

常用的編譯器有gcc, clang, c-compiler, xlc(AIX)等。一般他們會綁定到cc(軟連接), 所以你可以查看下cc指向哪個連接,如果遵循GNU語法,那麼看版本就是cc --version. 一個系統可以裝多個版本的多種編譯器,那麼就可以看下$PATH變數中優先哪個生效?當然還有其他編譯器,如intel 廠商的。可以看man XXXX 然後搜 version.

❷ 目前主流的C++編譯器有哪些

我用Cfree,也推薦你用這個,這個編譯器是自帶提示的,就是你只要輸入關鍵字或者之前設定函數的前幾個字母,該編譯器就會自動給你「聯想」出你需要的關鍵字或者相關的函數、成員等,這時只需要按下會車就實現自動輸入,這樣不會因為你輸入錯誤而照成不必要的修改……

❸ Clang 比 GCC 好在哪裡

從代碼上說,clang結構更簡單。因為clang只需要完成詞法和語法分析,代碼優化和機器代碼的生成工作由llvm完成。所以和全部由自己包下的gcc比起來,clang可以更專注地做好一件事。

這種結構也使clang可以被單獨拿出來用在其他的程序里。比如vim的clang_complete插件就是利用clang進行語法分析後給出精確的自動補全和語法錯誤提示的。而gcc就沒法很方便地做到這一點。

在實用性方面,除了有更快的編譯速度更快和更友好的出錯提示外,clang還內置有靜態分析工具,可以對代碼進行靜態分析(clang --analyze)。這也是gcc做不到的。

總結如下:

Clang是LLVM的前端,可以用來編譯C,C++,ObjectiveC等語言。傳統的編譯器通常分為三個部分,前端(frontEnd),優化器(Optimizer)和後端(backEnd)。

在編譯過程中,前端主要負責詞法和語法分析,將源代碼轉化為抽象語法樹;優化器則是在前端的基礎上,對得到的中間代碼進行優化,使代碼更加高效;後端則是將已經優化的中間代碼轉化為針對各自平台的機器代碼。Clang則是以LLVM為後端的一款高效易用,並且與IDE結合很好的編譯前端。

❹ Clang 比 GCC 編譯器好在哪裡

編譯速度更快、編譯產出更小、出錯提示更友好。尤其是在比較極端的情況下。

兩年多前曾經寫過一個Scheme解釋器,詞法分析和語法解析部分大約2000行,用的是Boost.Spirit——一個重度依賴C++模版元編程的框架。當時用g++ 4.2編譯的情況是:

編譯速度極慢:完整編譯一次需要20分鍾

編譯過程中內存消耗極大:單個g++實例內存峰值消耗超過1G
中間產出物極大:編譯出的所有.o文件加在一起大約1~2G,debug鏈接產物超過200M
編譯錯誤極其難以理解:編譯錯誤經常長達幾十K,基本不可讀,最要命的是編譯錯誤經常會長到被g++截斷,看不到真正出錯的位置,基本上只能靠裸看代碼來調試
這里先不論我使用Spirit的方式是不是有問題,或者Spirit框架自身的問題。我當時因為實在忍受不了g++,轉而嘗試clang。當時用的是clang 2.8,剛剛可以完整編譯Boost,效果讓我很滿意:
編譯速度有顯著提升,記得大約是g++的1/3或1/4
編譯過程中的內存消耗差別好像不大
中間產出物及最終鏈接產物,記得也是g++的1/3或1/4
相較於g++,編譯錯誤可讀性有所飛躍,至少不會出現編譯錯誤過長被截斷的問題了
當時最大的缺點是clang編譯出的可執行文件無法用gdb調試,需要用調試器的時候還得用g++再編譯一遍。不過這個問題後來解決了,我不知道是clang支持了gdb還是gdb支持了clang。至少我當前在Ubuntu下用clang 3.0編譯出的二進制文件已經可以順利用gdb調試了。

最後一點,其他同學也有講到,就是Clang採用的是BSD協議。這是蘋果資助LLVM、FreeBSD淘汰GCC換用Clang的一個重要原因。
答案出自:http://www.hu.com/question/20235742

❺ 綜合來說,幾大主流C++編譯器(icc,gcc,clang,vc++等)究竟孰優孰劣

我曾編出各種C++ 11編譯器的支持,並有C++ 14編譯器支持一批。


實際使用

對VC編譯的速度不斷提高,內存佔用已經從VC12開始明顯提高,而最明顯的是可變參數模板。還有內置的代碼靜態分析,在實際中很有用。32位保護模式下,ss寄存器存的是一個段選擇子,選擇子是一個數字,通過IDT(局部描述符表)或者GDT(全局描述符表)選擇一個段描述符,描述符裡面的信息包含該段的取值范圍和大小。

vc14的靜態分析不在每次載入一個ie(對,以前每分析一個.cpp,就載入一次ie!),速度快了相當多。



❻ 如何設置來用clang/clang++替換Linux下的默認編譯器Gcc

是兩種不同的C++編譯器。gcc歷史很悠久了,而clang是新興的編譯器,已經兼容gcc,也全面支持C++11標准、Objective-C等,當然二者都是cross-platform的。具體的區別可以移步維基網路中gcc和clang詞條。

❼ 話說vim中用clang,怎麼關聯到編譯器的那些頭文件

clang是一個編譯器,你的說法有點問題。。但意思應該是代碼自動補全吧

要安裝clang conplete插件:

  1. 下載http去掉我://www.vim.org/scripts/download_script.php?src_id=19588

  2. 終端cd入下載目錄,vim clang_complete.vmb -c 'so %' -c 'q'

❽ GCC/G++,ICC,Clang,MSVC,BCC等C/C++編譯器有什麼特長和不足

clang編譯速度快,但是貌似編譯結果運行相對會慢。功能更新一般也比較快。
g++編譯速度比clang慢,編譯結果運行貌似比clang快。功能更新稍慢。
vc這幾年沒編譯過大工程,感覺上編譯速度在clang和g++之間。以過去的經驗g++和vc編譯結果運行速度差不多。功能更新上就是一坨屎。但是在Windows上寫點正經東西你可能不得不用它,相對的你也只能在Windows上用它。
icc很久沒用過,過去印象編譯速度很慢,運行速度最快但是感覺有點得不償失。最大的問題是這東西要錢,前三個都是免費的。
bcc直接無視就好了。

❾ 我是正在學習c的小白我把我的vs2017編譯器改成了Clang

包含一下頭文件吧wchar_t定義的地方

熱點內容
蘋果緩存視頻在哪裡 發布:2024-11-15 07:23:31 瀏覽:920
車解壓密碼 發布:2024-11-15 07:23:30 瀏覽:86
linux編譯錯誤 發布:2024-11-15 07:16:14 瀏覽:539
水仙花編譯題 發布:2024-11-15 07:16:12 瀏覽:477
java編譯器中文版 發布:2024-11-15 07:11:56 瀏覽:247
伺服器請求慢怎麼排查 發布:2024-11-15 06:55:35 瀏覽:320
php自學還是培訓 發布:2024-11-15 06:54:05 瀏覽:182
在哪裡找到sim卡設置密碼 發布:2024-11-15 06:51:47 瀏覽:392
細說phppdf 發布:2024-11-15 06:38:35 瀏覽:276
征途PK腳本 發布:2024-11-15 06:37:51 瀏覽:680