编译目的
把一种 程序 变成 另一种更接近机器指令
编译的术语
“接近专家的最快方法第一步,直接了解100+行业黑话”
那么来了解一下,编译过程中的黑话:
- 词法分析
- 语法分析
- 中间代码
- 目标代码
- 代码优化
- 出错管理
- 表格管理
gcc是个什么?
一种编译工具
gcc干了什么?
- 预处理
- 编译
- 汇编
- 链接
例如,
把#incldue #ifdef #if这种命令预先处理掉
把c变成汇编语言对应的文件.asm
汇编把汇编语言文件变成机器码文件
链接是把各种文件组装成可运行整体
gcc用法
尽然知道了,是什么,干了什么,还要知道怎么用。
对应上面的
- 预处理
gcc -E xx.c -o xx.i
- 编译成汇编
gcc -S xx.i
- 汇编成机器码
gcc -c xx.i
- 链接
gcc demo.c -o demo