标签:目标 链接 机器码 包含 种类 family ++ -o 选项
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分
标签:目标 链接 机器码 包含 种类 family ++ -o 选项
原文地址:https://www.cnblogs.com/yuehuiluan/p/11925754.html