Gcc常用选项及编译过程

Gcc常用选项及编译过程

Gcc --help 查看gcc版本信息

使用方法:

Gcc [选项] <文件>

选项:

-v 查看gcc版本或编译详细过程

-o<文件> 输出文件

-E                       仅作预处理,不进行编译、汇编和链接

-S                       编译到汇编语言,不进行汇编和链接

-c                       编译、汇编到目标代码,不进行链接

-o <文件>               输出到 <文件>

编译过程:

  -E      -s            -c            -o

预处理=====编译=====汇编=====连接

A.c      a.i        a.s          a.o     

            编 汇       

a.c  ======  a.i  ======  a.s  ======  a.o  ======  a

           -E -s -c       -o

预处理: gcc  -E -o a.i a.c -E 仅作预处理,不进行编译、汇编、连接

编译: gcc -s -o a.s a.i -s 编译到汇编语言,不进行汇编、连接

汇编: gcc -c -o a.o a.s -c 编译汇编代码到目标文件,不进行连接

连接: gcc -o a a.o -o 连接生成机器码

后缀名 语言种类 后期操作

.c c语言 预、编、汇

.C C++语言 预、编、汇

.cc C++语言 预、编、汇

.Cxx C++语言 预、编、汇

.m objective-c 预、编、汇

.i 预处理后文件 编、汇

.ii 预处理后C++文件 编、汇

.s 汇编语言文件 汇

.S 汇编语言文件 预、汇

.h 预处理文件 通常不出现在命令中

静态连接:文件较大,生成文件包含程序的全部库

2019年11月25日08点39分

猜你喜欢

转载自www.cnblogs.com/yuehuiluan/p/11925754.html