gcc/g++ 和 clang/clang++ 都是 Linux 下常用的 C/C++ 編譯器。gcc 是 GNU 親兒子,Ubuntu 等常用發行版標配。clang 是后起之秀,配合 llvm,以優秀的前端聞名於世,現在已經是 Mac(XCode) 的默認編譯器,微軟等大公司都在往上靠,前景一片光明。知乎上對幾個主流編譯器的評價:
(1)前景最好的應該是clang,錯誤提示/編譯速度都是一流。另外現在有很多代碼自動完成/提示工具是基於clang的。clang編譯出的debug文件已經可以用gdb調試了哈,vs2015也內置了clang來提供對cross platfrom的支持。
(2)gcc/g++/msvc因為面向了具體的platform,所以老的項目里面可能用了他們自帶的擴展/或者在彼此應用環境下有一些best practice,這個沒有辦法,還得接着用。。。
(3)Borland?還活着?
(4)ICC,據說經ICC編譯后效率有提高,即使是AMD的U也是這樣。。。我沒試過。。。
對我自己而言,優先級是clang>g++>msvc。