我使用命令获得了一个预处理文件:clang++ -E test.cc > test.E
然后我想快速编译它。为此,我运行 clang++ -### -c test.cc
,然后获取所有这些标志,并将输入文件名从 test.cc
替换为 测试.E
.
但我想知道,对于已经预处理的文件,clang++ -###
的输出中是否存在一些冗余标志,或者可能存在一些标志,强制 clang 跳过预处理或其他一些标志不必要的步骤。
目的是加快预处理文件的编译速度。
最佳答案
为了加快编译速度,我需要将标志的“-x”参数替换为正确的语言,例如:“c”->“cpp-output”、“c++”->“c++-cpp-output”, ETC。 在这种情况下,clang 根本不会运行预处理。
关于c++ - 有没有办法用 clang 有效地编译已经预处理的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19207989/