为什么在vim和emacs中要使用clang进行自动补全?

6
为什么不使用gcc?它们之间有什么区别,为什么几乎所有自动补全插件都需要clang?

5
这里是一份通用比较内容,与gcc相比,Clang更容易用于完成工作。 - romainl
1个回答

1
简单来说,clang的设计支持代码补全,而gcc则不支持。Clang有一个命令行选项,可以在源文件的某个位置打印可能的补全内容,这使得它在脚本中易于使用:直接调用clang、解析输出结果,完成。GCC没有类似的功能。 至于为什么,可以看看gcc和clang之间的差异列表

[...]

  • Clang从一开始就被设计成API,允许其被源代码分析工具、重构、IDE(等等)以及代码生成所复用。GCC则作为一个单块静态编译器构建,这使得它极其难以用作API并集成到其他工具中。此外,其历史设计和当前 政策使得难以将前端与编译器的其他部分分离。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接