我有一个 Visual Studio 2019 C++ 项目,我正在将其转换为 clang,我注意到,正如-ftime-report
switch 所报告的那样,clang 版本的编译速度要慢一些,平均来说,clang 需要大约 1700 毫秒来编译,而 VS2019 版本只需要 1150 毫秒编译。不涉及预编译头文件。
clang++.exe
请注意,我通过直接使用以下(最相关的)标志直接从命令行调用来构建 clang 版本:
-std=c++14 -g -c
VS2019 版本使用以下标志:
/permissive-
/GS
/W3
/Zc:wchar_t
/Qspectre
/Zi
/Gm-
/Od
/sdl
/Fd"x64\Debug\vc142.pdb"
/Zc:inline
/fp:precise
/D "_DEBUG"
/D "GAMECODE_EXPORTS"
/D "_WINDOWS"
/D "_USRDLL"
/D "_WINDLL"
/D "_UNICODE"
/D "UNICODE"
/errorReport:prompt
/WX-
/Zc:forScope
/RTC1
/Gd
/MDd
/std:c++14
/FC
/Fa"x64\Debug\"
/EHsc
/Fo"x64\Debug\"
/debug
/diagnostics:column
是什么导致 VS2019 速度如此之大?MsBuild 是否做了一些特别的事情来加速我对 clang 编译器的简单命令行调用没有做的编译?