I am having a hard time to make out whether the command line tool cl.exe
is what people refer to when they are talking about "the MSVC compiler".
Are the two the same thing or do you use cl to control the compiler?
I am having a hard time to make out whether the command line tool cl.exe
is what people refer to when they are talking about "the MSVC compiler".
Are the two the same thing or do you use cl to control the compiler?
Yes, when people refer to the "MSVC compiler," they mean "cl". "cl" is the tool that controls the Microsoft Visual C and C++ compilers and linker. It invokes other tools.
Also, when people mention "VC17", they are referring to "cl" from "Visual Studio 17 2022".
Similarly, "VC16" refers to "cl" from "Visual Studio 16 2019".
Finally, there is "clang-cl," which is the entry point for the Microsoft-compatible version of the Clang/Clang++ compilers from the LLVM project. This is often refered to as "Microsoft clang".
© 2022 - 2025 — McMap. All rights reserved.
cl mysource.cpp
on the command line - does it really matter whethercl
is doing all the work, or delegates some or all of it to other binaries? Anyway, there are, in fact, a bunch of DLLs and EXEs involved. – Leverrierdevenv.exe
. The command-line C++ compiler shipped with Microsoft Visual C++ (MSVC) product is indeed namedcl.exe
(at least, that's the entry point; it invokes a bunch of other tools). – Leverrier