程序是怎样跑起来的 第八章

源代码编写完成后,就可以编译生成可执行文件了,负责实现该功能的是编译器。什么是编译器?就是能够把高级编程语言编写的源代码转换成本地代码的程序。每个编程语言都需要其专用的编译器。编译器首先读入代码的内容,然后再把源代码转换成本地代码。根据cpu类型的不同,本地代码的类型也不同,所以编译器还和cpu的种类相关。编译器转换源代码后,就会生成本地文件,但是本地文件无法直接运行的,编译之后还需要进行链接处理。把多个目标文件结合,生成一个exe文件的处理就是链接,运行链接的程序称为链接器。把多个目标文件集成保存到一个文件中,这样的文件叫库文件。连接器指定库文件后,就会把需要的目标文件抽取出来,并和其他目标文件结合生成exe文件。exe文件的内容分为再配置信息,变量组,函数组。
当程序加载到内存后,会产生栈和堆。栈是用来存储函数内部临时使用的变量和函数调用时用的参数的内存区域,堆是用来存储程序运行时的任意数据及对象的内存领域。

猜你喜欢

转载自www.cnblogs.com/hzusbjxg/p/10628825.html
今日推荐