交互演示
· 编译 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 即时反馈、运行时修改的能力,适合快速迭代的开发方式。