我是clang
的新手。我读过一篇关于使用clang
编译器前端从cuda
到opencl
的源代码转换的论文。
谁能告诉我为什么有时会使用-cc1
这个选项?
发布于 2012-01-25 22:28:53
Clang编译器前端有几个额外的Clang特定功能,这些功能不会通过GCC兼容性驱动程序接口公开。-cc1
参数指示要使用编译器前端,而不是驱动程序。clang -cc1
功能实现了核心编译器功能。
所以,简单地说。如果你不提供-cc1
,那么你可以期待标准的GCC的“外观和感觉”。也就是说,绝大多数编译器标志的工作方式与您期望它们与GCC一起工作的方式相同。如果您传递选项"-cc1“,那么您将获得Clang编译器标志集。所以,对这个GCC来说可能是有区别的。
希望这能让事情变得更清楚一些。
发布于 2012-01-25 22:34:22
通常的编译器包括所谓的编译器驱动程序,它知道如何执行编译器本身、汇编程序、链接器等,以及编译器本身,它只接受源代码(有时已经经过预处理)并发出汇编程序/目标代码。
Clang在单个二进制文件中实现了所有这些组件,区别只是cmdline。在这里,clang -cc1
使用其内部/未记录的选项集等调用编译器本身。
https://stackoverflow.com/questions/8991662
复制相似问题