《程序是怎样跑起来》第八章读后感
源代码完成后,就可以编译生成可执行文件了。负责实现该功能的是编译器。第八章围绕着编译器的功能,详细介绍从程序编写到运行为止的流程。读了第八章我了解到了源文件是如何通过编译转换成可执行文件的。
计算机只能运行本地代码,对于CPU来说,母语就是机器语言,而转化成机器语言的程序就是本地代码。用任何编程语言编写的源代码最后都要翻译成本地代码,否则CPU就不能理解。由于本地代码的内容是人类无法理解的。所以才有了用人类容易理解的 C 语言等编程语言来编写源代码,然后再将源代码转换成本地代码这一方法。
编译器负责转换源代码,但是仅靠编译是无法得到可执行文件的。编译器转换源代码后就会生成本地文件。但是本地文件无法直接运行,所以编译后还需要进行“链接”处理。
程序加载时会生成栈和堆,他们有些相似之处,他们的内存空间都是在程序运行时得到申请分配的。不过,在内存的使用方法上,二者有些不同。
从第八章中我学到了很多知识,我将继续阅读下去,学到更多知识。