C语言 clang应该与gcc相同,反之亦然?



我试图编辑一些C代码,编译它,并测试它。在此过程中,我无意中使用了不同的编译器,即gcc和clang。然后我感到无聊,就在命令行中输入了编译器的两个命令(奇怪但还好)。我注意到当我这样做的时候,gcc是clang, clang就是clang。显然,当您输入没有参数的编译器命令时,您会得到一个错误,说没有输入文件。当我输入命令

时,我以为gcc应该这样说:
gcc: error: no input files

但是当我尝试clang时也是一样的。两个命令都是clang: error: no input files。所以我的问题是,我在使用gcc时运行clang吗?如果是这样,我该如何解决?

gcc和clang是两个完全不同的编译器。但是由于gcc的流行,clang故意复制了它的许多特性。在某些环境中(比如最近的mac电脑),clang是用别名安装的,所以如果你输入gcc,就会得到clang。听起来你可能就会遇到这种情况。

苹果很久以前在Xcode中使用gcc,然后他们做了clang,运行gcc会调用clang来允许旧的构建脚本正常工作。如果你需要使用gcc,你可以像

一样安装。
brew install gcc 

相关内容

  • 没有找到相关文章

最新更新