-
高级语言程序 → 机器语言(二进制)
源程序(源语言) →目标程序(二进制) + 程序库已有的常用模块(二进制)
= 可执行程序(文件) 如:windows的.exe -
翻译程序
汇编程序、编译程序、解释(边翻译边执行)
①编译型语言(c、c++、oc、swift)
在计算机运行代码前,先把代码翻译成可执行文件。这个文件只需要经过一次编 译就可以运行了,而且除非修改代码,否则都不需要重新编译。所以编译型语言的程序执行效率高。
② 解释型语言(JavaScript php)
不需要在运行前编译,在运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码,即逐行翻译。这样解释型语言每执行一次就要翻译一 次,效率比较低。解释器可以称之为虚拟机,比如java的虚拟机jvm。调试程序的时候,更改代码就能直接再次运行,不存在编译的步骤,它在跨平台的基础上,又为开发调试提供了便利。
③ 半编译半解释型语言(java)
源代码 — 中间码 — java虚拟机jvm — 本地系统二进制指令
Java属于半编译半解释,它将源代码转换成中间码才能被jvm(java虚拟机)运行。所谓一次编译,到处运行,是指在编译和运行中间,多了一个jvm这个抽象层。中间码依赖jvm,而不依赖于平台(操作系统),只要jvm支持中间码,中间就能运行,不同平台的兼容性就由jvm来解决,开发者可以专注于开发业务逻辑,这解决了编译语言的跨平台问题。 -
程序开发过程
① 算法与数据结构设计
② 源程序编辑
③ 编译
④ 连接
⑤ 测试
⑥ 调试