传统的编译器通常分为三个部分,前端(frontEnd),优化器(Optimizer)和后端(backEnd)。在编译过程中,前端主要负责词法和语法分析,将源代码转化为抽象语法树;优化器则是在前端的基础上,对得到的中间代码进行优化,使代码更加高效;后端则是将已经优化的中间代码转化为针对各自平台的机器代码。
cl.exe是msvc里面的
clang-cl.exe
是LLVM项目的一部分,是Clang编译器的一个特殊版本,设计用来兼容cl.exe
的命令行参数。这使得它可以作为cl.exe
的替代品,在Visual Studio等环境中使用。它能够接受cl.exe
的大多数命令行参数。
Clang
在LLVM架构中是作为C家族语言
(C、C++、Objective-C) 的默认前端
。它采用了LLVM作为其后端,是gcc替代器
LLVM:Low Level Virtual Machine,a collection of modular and reusable compiler and toolchain technologies
cmake中设置 cmake -T “ClangCl”
To enable clang-cl to find system headers, libraries, and the linker when run from the command-line, it should be executed inside a Visual Studio Native Tools Command Prompt
WoA64 是windows on arm64平台
mingw是为了使用gcc