操作系统--内存中的程序映像(printf函数的运算顺序)
先来看看c语言printf函数运算顺序为什么从右到左?从汇编角度来看,函数的参数总是从高地址压到低地址,而访问参数的时候又是通过基址加偏移量来的,所以按照逻辑,偏移量为0对应第一个参数,第一个参数在低地址,低地址最后压入栈,相对应的函数最右边的参数也就最先计算,并先压入栈。一个由C/C++编译的程序的内存分布分为以下几个部分:1、 栈(stack):也是我们所说的堆栈,是由编译器自动分配释放,用来
原创
2017-04-20 20:22:35 ·
1130 阅读 ·
0 评论