程序工作原理

一个可执行文件至少包含三部分:代码段、静态数据段、堆栈段三部分。

代码段:源程序中的可执行语句序列;

静态数据段:存放全局变量、静态变量、符号表等;

堆栈段:函数和线程使用。


堆(Heap)和自由存储空间不属于程序,而属于操作系统,单应用程序可以通过动态内存分配指令来获得他们的使用权。


程序运行:首先要求把内存操作数的地址通过数据总线(DB)传递到CPU寄存器中,然后CPU指示将它送到地址总线(AB)上,接着内存单元的数据就会“流入”CPU的接收寄存器中;然后取第二个操作数;最后之行加法运算。


函数调用:首先提取函数体的首地址到CPU寄存器中,然后将CPU指令指针修改为这个寄存器中的值,CPU从内存提取下一条指令时就可以取到函数的第一条指令。


典型C++/C运行环境:






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值