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

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

转载于:https://www.cnblogs.com/hzusbjxg/p/10628825.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值