1. 编译执行 (Compiled Execution)

定义:编译执行是指将源代码一次性转换成机器可执行的二进制代码的过程。这种转换通常是由编译器完成的。

过程:

编译阶段:源代码被编译器转化为目标代码(通常是机器码)。

链接阶段:目标代码被链接器链接成可执行文件。

优点:

运行速度快,因为执行的是机器码。

安全性较高,因为源代码不容易被查看。

缺点:

开发周期较长,每次修改都需要重新编译。

跨平台兼容性较差,不同操作系统可能需要不同的编译器。

示例语言:C、C++、Java(JVM 编译),Golang

2. 解释执行 (Interpreted Execution)

定义:解释执行是指在程序运行时逐行解析并执行源代码的过程。解释器直接读取源代码,并将其转换为机器码执行。

过程:

解释阶段:解释器读取源代码,一行行地解释并执行。

优点:

开发效率高,无需编译即可运行。

跨平台兼容性好,只需在目标平台上安装相应的解释器即可。

缺点:

运行速度相对较慢,因为每次运行都需要解释。

安全性较低,源代码容易被查看。

示例语言:Python、JavaScript、Ruby,shell

总结

编译执行适用于对性能要求较高的场景,如游戏开发、操作系统内核等。

解释执行适用于快速开发和部署的场景,如Web开发、脚本编写等。

源码编译时,./configure,在源码目录下,有src 就是要编译src的.c文件为.o