gcc简单的使用笔记

114 阅读1分钟

gcc简单的使用笔记原文

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