引言:
常用的高级语言可分为编译型语言和解释型语言,它们在代码的执行流程上有着明显区别。
正文:
- 编译器、汇编器与解释器
代码:nothing but a text file that makes sense, what make the code sensible is the compiler!
编译:将一段高级语言代码(如c语言)通篇翻译成低级语言(如汇编语言)代码的过程。
编译执行:代码经过编译变成汇编语言,然后经过链接(添加各种库),最终由汇编器生成机器码,也就是可执行文件,在Windows下的可执行文件叫做.exe
解释执行:将一段高级语言代码逐行编译,每编译一行就立即执行,不生成中间文件
二者的区别:编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。 这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。
名词:GNU(GNU's Not Unix, Recursive Abbreviation),gcc(GNU Compiler Collections),GDB()g++(gc++c++)
shell是什么:
-
shell是一个应用程序,作为用户和操作系统内核沟通的沟通代理。
-
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
-
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
- cPython, JVM, python bytecode