、GCCコンパイラのプロセス
GCC Cコンパイラがコードをコンパイルするには、次の4つのステップを経る必要があります:
前処理(前処理):前処理用.Cソースファイルを、.iファイルを生成します。
コンパイル(コンパイル):.Sアセンブリファイルを生成するためにコンパイル.iファイル。
コンパイル(アセンブリ):.Sファイルを組み立てるには、.oオブジェクトファイルを生成します。
リンク(リンク):実行可能ファイルを生成するためにリンクするの.oファイルを。
二、gccのコマンド
2.1 gccのコマンドフォーマット定義
2.2 gccのコマンド一般的に使用されるパラメータ
2.2.1基本パラメータ
-E:唯一の前処理ソースファイル、コンパイルされていません。画面に直接結果を出力。
-S:コンパイルせずに、ソースファイルの前処理、コンパイラ、。.S結果は、ソースの.cファイルと同じ名前で、ファイル形式で保存されました。
-c:ソースファイルの前処理、コンパイル、アセンブリ、それにリンクしていません。ソース.Cファイルと同じ名前で、.oファイル形式で結果を保存します。
-save-tempsを:保存しての途中で生成されたすべての文書をコンパイルします。中級同じ名前の.Cソースファイルとファイル名、接尾辞.iの、.S、.oの
2.2.2デバッグパラメータは、
-o:出力のいずれかのタイプを指定したファイルに保存されます。
-Wall:打开编译器的警告标志,尽可能多的输出警告信息。强烈建议,编译时始终带上 -Wall 选项。
-Werror:将所有的警告当成错误处理,必须消除警告才能继续编译。
2.2.3 函数库参数
-llibrary:手动指定函数库library参与链接。库名为library,文件名为liblibrary.a或liblibrary.so
-Ldir:手动添加一个路径dir,用以搜索库文件(.a 或 .so 文件,即手动指定的函数库文件的所在目录)。
-Idir:手动添加一个路径dir,用以搜索头文件(.h 文件,即源码内#include要包含的文件的所在目录)。