gcc 版本
gcc -v
Apple clang version 13.1.6 (clang-1316.0.21.2) Target: x86_64-apple-darwin21.4.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
gcc --help
初试
#include <stdio.h>
int main(){
printf("hello world\n");
}
gcc main.c
./a.out hello world
预处理
gcc -E main.c >> main.i
- E : Only run the preprocessor
生成预处理文件
编译
gcc -S main.i
生成 main.s 汇编文件
- S : Only run preprocess and compilation steps
汇编
gcc -c main.s
生成 main.o 链接文件
- c : Only run preprocess, compile, and assemble steps
as main.s -o main.o
as 汇编器 汇编语言编辑器集 将汇编代码编译成二进制代码
as --help
链接
gcc main.o
gcc -v main.o
ld 链接器 将目标文件与库文件链接成可执行文件或库文件
生成一个可执行文件需要依赖很多系统库
保存中间文件
gcc main.c --save-temps
-rwxr-xr-x 1 morningcat staff 48K 3 17 01:29 a.out
-rw-r--r--@ 1 morningcat staff 66B 3 17 01:18 main.c
-rw-r--r-- 1 morningcat staff 23K 3 17 01:29 main.i
-rw-r--r-- 1 morningcat staff 760B 3 17 01:29 main.o
-rw-r--r-- 1 morningcat staff 664B 3 17 01:29 main.s