交互演示 · 编译 vs 解释

← Python 程序设计 V2
STEP 0 / 8点击「播放」或逐步执行,观察同一段程序在两种执行方式下的处理过程。

C · 编译型语言

hello.c → 一次编译成机器码 → CPU 直接执行
📄
源代码hello.c
🔧
预处理器#include 展开
🧱
编译器→ 汇编代码
⚙️
汇编器→ 目标文件 .o
🔗
链接器→ hello.exe
⚡
CPU机器码全速执行
hello.c
$ gcc hello.c -o hello

Python · 解释型语言

hello.py → 字节码 → PVM 逐条解释执行
📄
源代码hello.py
🧊
编译为字节码.pyc 缓存
🌀
PVM虚拟机逐条取指
🔁
解释执行字节码 → 系统调用
⏱️
运行时动态类型检查
✅
输出跨平台同样结果
hello.py
$ python hello.py
0 / 8
⚡ 速度编译型一次翻译、反复执行,同等计算通常快 1–2 个数量级;解释型每次运行都要 PVM 现场翻译字节码。
🌍 跨平台C 的产物绑定操作系统与指令集(.exe 换台机器未必能跑);Python 只要有对应虚拟机,字节码处处一致。
🔄 灵活性解释执行带来动态类型、REPL 即时反馈、运行时修改的能力,适合快速迭代的开发方式。