C2 Options

There is no official literature for C2.DLL. Many C2 command-line options are documented indirectly because they are CL.EXE options that pass through to C2 more or less unchanged and happen to be among those that Microsoft documents for CL. All others seem not to be documented at all.

Some of the C2-specific options are plainly aids to maintaining and testing the compiler. But there are so many others that it would be surprising if none were useful to programmers outside Microsoft. It is at least imaginable that some are used by Microsoft’s own programmers when developing software that Microsoft sells in competition with the work of programmers outside Microsoft (who may think, naively, that their use of Microsoft Visual C++ means that the mechanical reduction of their creative output to executable code is done the same for them as for Microsoft).

In the list below of C2 options recognised by version 13.00.9466, those that are not known to be generated by CL (or LINK when doing link-time code generation) are highlighted yellow. In practice, they must be passed to C2 through the CL /d2 option (or through LINK via its /d2 option).