簡體   English   中英

clang 是否應該與 gcc 相同,反之亦然?

[英]Is clang supposed to be the same as gcc and vice versa?

我試圖編輯一些 C 代碼,編譯並測試它。 一路上,我無意中使用了不同的編譯器,即 gcc 和 clang。 然后我很無聊,只是在命令行中輸入了編譯器的兩個命令(奇怪但沒問題)。 我注意到,當我這樣做時,gcc 是 clang 和 clang 只是 Z2C5517DB7BC397F9B14AE357A7CEFF4 顯然,當您輸入沒有 arguments 的編譯器命令時,您會收到一條錯誤消息,指出沒有輸入文件。 當我剛剛輸入命令時,我以為 gcc 應該說這樣的話:

gcc: error: no input files

但是當我為 clang 嘗試它時,它是一樣的。 它說clang: error: no input files 所以我的問題是,我在使用 gcc 時是否在運行 clang? 如果是這樣,我該如何解決?

gcc 和 clang 是兩個完全不同的編譯器。 但是由於 gcc 的流行,clang 故意復制了它的許多特性。 在某些環境中(例如最近的 Mac), clang 使用別名安裝,因此如果您鍵入gcc ,您會得到clang 聽起來這就是你可能發生的事情。

Apple used to use gcc in Xcode a long time ago, and then they made clang and running gcc would invoke clang to allow old build script to work correctly. 如果您需要使用 gcc 您可以使用自制軟件安裝

brew install gcc 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM