首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我的Linux开发项目中的Clang vs GCC

我的Linux开发项目中的Clang vs GCC
EN

Stack Overflow用户
提问于 2011-11-21 08:01:52
回答 4查看 111.8K关注 0票数 181

我在上大学,在一个我们正在使用C的项目中,我们已经探索了GCC和Clang,并且Clang看起来比GCC更友好。因此,我想知道在Linux上使用clang和C++开发,而不是使用GCC,有什么优点或缺点?

在我的例子中,这将用于学生级别的程序,而不是生产。

如果我使用Clang,我应该使用GDB调试并使用GNU Make,还是使用另一个调试器和make实用程序?

EN

回答 4

Stack Overflow用户

发布于 2011-11-21 09:38:28

到目前为止,GCC对C++11特性的支持要比Clang好得多,也更完整。此外,GCC的代码生成器比Clang的代码生成器具有更好的优化性能(根据我的经验,我还没有看到过任何详尽的测试)。

另一方面,Clang通常比GCC更快地编译代码,并且在您的代码出现问题时生成更好的错误消息。

选择使用哪一个确实取决于什么东西对你来说是重要的。我更看重C++11支持和代码生成质量,而不是编译的便利性。正因为如此,我使用了GCC。对你来说,权衡可能是不同的。

票数 37
EN

Stack Overflow用户

发布于 2011-11-21 08:09:25

我使用两者都是因为它们有时会给出不同的、有用的错误消息。

当一个核心开发人员第一次尝试使用clang进行编译时,Python项目能够找到并修复许多小buglet。

票数 26
EN

Stack Overflow用户

发布于 2011-11-21 08:07:29

对于学生级别的课程,Clang的好处是,默认情况下,它的wrt更严格。C标准。例如,以下K&R版本的Hello World在没有警告的情况下被GCC接受,但被Clang拒绝,并带有一些非常描述性的错误消息:

代码语言:javascript
复制
main()
{
    puts("Hello, world!");
}

对于GCC,你必须给它-Werror,才能让它真正表明这不是一个有效的C89程序。此外,您仍然需要使用c99gcc -std=c99来获取C99语言。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8205858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档