c++visual-studiocl.execompilation-time

What are "responsibilities" of c1xx.dll and c2.dll in visual studio compilation process?


I'm trying to analyze the causes for long compilation times in my work (Visual studio 2017, many C++ and some C++/CLI projects), so I've turned on the /Bt+ flag and got the nive detailed output regarding how much time c1xx and c2 spent in each file. I'm not sure though what each of them is responsible for, so I'd be glad if someone could elaborate on that.

Thanks in advance


Solution

  • c1xx and c2 are tools part of Microsoft's compilation toochain. The first is responsible of translating your C++ to an intermediate representation (an AST most likely, something suitable for code generation) and the second translates that intermediate representation to machine code.

    They are the "Microsoft C++ Front-end compiler" and "Microsoft C++ Compiler back-end". Their invocations are done through cl.exe which overviews the whole compilation toolchain