# File Extensions

## Input File Extensions

The Intel® C++ Compiler Classic recognizes input files with the extensions listed in the following table:

File Name | Interpretation | Action
--- | --- | ---
file.c | C source file | Passed to compiler
file.C file.CC file.cc file.cpp file.cxx | C++ source file | Passed to compiler
file.lib (Windows) file.a file.so (Linux and macOS) file.dylib (macOS) | Library file | Passed to linker
file.i | Preprocessed file | Passed to compiler
file.obj (Windows) file.o (Linux and macOS) | Object file | Passed to linker
file.asm (Windows) file.s (Linux and macOS) file.S (Linux and macOS) | Assembly file | Passed to assembler

## Output File Extensions

The Intel® C++ Compiler Classic produces output files with the extensions listed in the following table:

File Name | Description
--- | ---
file.i | Preprocessed file: Produced with the -E option.
file.o (Linux and macOS) file.obj (Windows) | Object file: Produced with the -c (Linux, macOS, and Windows) object. The /Fo (Windows) or -o (Linux) option allows you to rename the output object file.
file.s (Linux and macOS) file.asm (Windows) | Assembly language file: Produced with the -S option. The /Fa (Windows) or -s (Linux) option allows you to rename the output assembly file.
a.out (Linux and macOS) file.exe (Windows) | Executable file: Produced by the default compilation. The /Fe (Windows) or -o (Linux) option allows you to rename the output executable file.

Parent topic: Use the Command Line

## See Also

Invoke the Compiler
Specify Compiler Files