14 / 30
GCC and File Extensions
Extension | Meaning |
---|---|
.h |
C header file (not to be compiled or linked). | .c |
C source code which must be preprocessed. | .i |
C source code which should not be preprocessed. | .ii |
C++ source code which should not be preprocessed. | .cc , .cp , .cxx ,
.cpp , .c++ , .C
| C++ source code which must be preprocessed. | .f , .for , .FOR |
Fortran source code which should not be preprocessed. | .F , .fpp , .FPP |
Fortran source code which must be preprocessed (with the traditional preprocessor). | .r |
Fortran source code which must be preprocessed with a RATFOR preprocessor (not included with GCC). | .s |
Assembler code. | .S |
Assembler code which must be preprocessed. | other | An object file to be fed straight into linking. Any file name with no recognized suffix is treated this way. |
An alternative is to use the -x
option of GCC to specify
the language of input files explicitly.
-x none
is the same as the default behaviour, and causes
files to be handled according to their extension.
Other options include -x c
, -x c++
, and
-x f77
.
Yet another alternative is to use
g++
and g77
.
These programs invoke gcc
with appropriate options for
C++ and Fortran.