GCC参数的使用
gcc 主要有三个参数-E -S -c -o -l 以及不加参数
四个阶段:预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编 (Assembly)和连接(Linking)。
-o
生成文件
如果有-E 就是生成预编译文件
如果是-S 就是生成汇编文件
如果是-c 就是生成目标文件
-E参数
-E代表 只进行预编译
将包含的头文件重新展开,还有#define的这些语言
gcc -E main.c > main.i
#or
gcc -E main.c -o main.i
#这个时候需要自己输入到一个新的文件里
-S
进行预编译 + 编译
会生成一个main.s的汇编文件
gcc -S main.c -o main.s
-c
进行预编译 编译 以及汇编
会生成一个目标文件,接下来只需要链接一下,就可以生成执行文件
gcc -c main.c -o main.o
#Linking 链接
gcc main.o -o main
#main是一个可执行文件
-I
指定自己的头文件目录
在编译成目标文件的时候可以使用
-L
指定自己的库文件位置
-l(小写)指定具体的库名字
Linux的库文件有两种,动态链接库通常是.so结尾,静态链接库通常是.a结尾
参考:https://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html
网友评论