Developer Guide and Reference

Contents

Understanding File Extensions

Input File Extensions

The Intel® C++ Compiler 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 produces output files with the extensions listed in the following table:
File Name
Description
file.i
Preprocessed file: Produced with the
-P
option.
file.o
(Linux
and
macOS*
)
file.obj
(Windows)
Object file: Produced with the
-c
(Linux
,
macOS*
,
and Windows) object. The /Fo (Windows) 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) option allows you to rename the output assembly file.
a.out
(Linux
and
macOS*
)
file.exe
(Windows)
Executable file: Produced by the default compilation.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804