用“man gcc”即可看到下面这一段,主要是想了解一下gcc对于不同后缀名的文件的处理。
对于学习,我想深入细节是非常重要的,这也是一个人学习能力的最直接体现。近日逐渐发现自己这方面做得太差了,虽然也是一直在学习,但总是没有深入,放过了一些细节方面,觉得自己非常的“眼高手低”。这是学习中的大忌。
试着一点一点的去改善吧。平时多动手测试、多整理知识点,是培养“深入细节”的一个好方法。
|
--------------------------------------------------------------------------------
Compilation can involve up to four stages: preprocessing, compilation proper, assembly and linking, always in that order. GCC is capable of preprocessing and compiling several files either into several assembler input files, or into one assembler input file; then each assembler input file produces an object file, and linking combines all the object files (those newly compiled, and those specified as input) into an executable file.
编译有4个步骤:预处理、编译、汇编、链接,通常都按照这个顺序执行。GCC能够将多个源文件预处理并汇编,最终生成多个汇编输入文件或生成单个汇编输入文件;然后每个汇编输入文件都生成一个目标文件,最终将所有的目标文件链接起来形成一个可执行文件。
对于一个输入文件,它的文件名后缀决定了其需要进行的编译过程。
file.c
C语言源文件,必须经进行处理
file.i
C语言源文件(或 C源文件经过预处理后的文件),不需要进行预处理
file.ii
C++源文件(或 经过预处理后的文件),不需要进行预处理
file.m
Objective-C源文件。必须与libobjc库链接才能使这个程序工作。
file.mi
Objective-C源文件,不需要进行预处理
file.mm
file.M
Objective-C++源文件,必须与libobjc库链接才能使这个程序工作。
file.mii
Objective-C++源文件,不需要进行预处理
file.h
C, C++, Objective-C 或 Objective-C++的头文件,需进行预编译。
file.cc
file.cp
file.cxx
file.cpp
file.CPP
file.c++
file.C
C++源文件,必须进行预处理。
file.mm
file.M
Objective-C++ source code which must be preprocessed.
file.mii
Objective-C++ source code which should not be preprocessed.
file.hh
file.H
file.hp
file.hxx
file.hpp
file.HPP
file.h++
file.tcc
C++ header file to be turned into a precompiled header.
file.s
Assembler code.
file.S
file.sx
汇编文件,必须经过预处理
阅读(1082) | 评论(0) | 转发(0) |