C 语言简介与编译流程
了解 C 语言历史、编译型语言特点、gcc 编译四步骤
C 语言简介与编译流程
C 语言诞生于 1972 年,至今仍是操作系统、嵌入式、高性能计算的核心语言。它快、贴近硬件、跨平台——Linux 内核、Windows 内核、Python 解释器都用 C 写的。
学完本章你将: 了解 C 语言定位、编译型语言 vs 解释型、gcc 编译四步流程。
C 语言的特点
| 特点 | 说明 |
|---|---|
| 贴近硬件 | 直接操作内存,没有虚拟机 |
| 速度快 | 编译成机器码,无运行时开销 |
| 简洁 | 语法少,只有 32 个关键字 |
| 手动管理 | 自己 malloc、自己 free——没有垃圾回收 |
编译型 vs 解释型
解释型(Python): 源码 → 逐行解释执行
编译型(C): 源码 → 编译 → 链接 → 可执行文件 → 运行
编译型程序一次编译、到处运行(指同一平台的二进制),速度远超解释型。
gcc 编译四步骤
c
// hello.c
#include <stdio.h>
int main() {
printf("Hello, C!\n");
return 0;
}
bash
# 1. 预处理:展开 #include、#define
gcc -E hello.c -o hello.i
# 2. 编译:C → 汇编
gcc -S hello.i -o hello.s
# 3. 汇编:汇编 → 目标文件
gcc -c hello.s -o hello.o
# 4. 链接:合并库函数,生成可执行文件
gcc hello.o -o hello
# 一步到位
gcc hello.c -o hello
# 运行
./hello # 输出: Hello, C!
💡 大多数时候直接用
gcc hello.c -o hello就够了,但了解四步流程有助于调试编译错误。