/Tc, /Tp, /TC, /TP (Specify Source File Type)
The latest version of this topic can be found at -Tc, -Tp, -TC, -TP (Specify Source File Type).
The /Tc option specifies that filename
is a C source file, even if it does not have a .c extension. The /Tp option specifies that filename
is a C++ source file, even if it doesn't have a .cpp or .cxx extension. A space between the option and filename
is optional. Each option specifies one file; to specify additional files, repeat the option.
/TC and /TP are global variants of /Tc and /Tp. They specify to the compiler to treat all files named on the command line as C source files (/TC) or C++ source files (/TP), without regard to location on the command line in relation to the option. These global options can be overridden on a single file by means of /Tc or /Tp.
Syntax
/Tcfilename
/Tpfilename
/TC
/TP
Arguments
filename
A C or C++ source file.
Remarks
By default, CL assumes that files with the .c extension are C source files and files with the .cpp or the .cxx extension are C++ source files.
When either the TC or Tc option is specified, any specification of the /Zc:wchar_t (wchar_t Is Native Type) option is ignored.
To set this compiler option in the Visual Studio development environment
Open the project's Property Pages dialog box. For details, see How to: Open Project Property Pages.
Click the C/C++ folder.
Click the Advanced property page.
Modify the Compile As property.
To set this compiler option programmatically
- See CompileAs.
Examples
The following CL command line specifies that MAIN.c, TEST.prg, and COLLATE.prg are all C source files. CL will not recognize PRINT.prg.
CL MAIN.C /TcTEST.PRG /TcCOLLATE.PRG PRINT.PRG
The following CL command line specifies that TEST1.c, TEST2.cxx, TEST3.huh, and TEST4.o are compiled as C++ files, and TEST5.z is compiled as a C file.
CL TEST1.C TEST2.CXX TEST3.HUH TEST4.O /Tc TEST5.Z /TP