读CSAPP之Procedure、Stack Frame

过程调用包括将数据(以参数和返回值的形式)和控制从代码的一部分传递到另一部分,同时,在进入时为过程的局部变量分配空间,并在退出时释放空间。
IA32只提供了对进入过程和退出过程的控制,而数据传递、变量的分配和释放则要通过操作程序栈来实现。x86-64则是通过寄存器而不是栈来传递数据,这样极大地减少了存储器读写操作的数量。
[ Read More » ]
过程调用包括将数据(以参数和返回值的形式)和控制从代码的一部分传递到另一部分,同时,在进入时为过程的局部变量分配空间,并在退出时释放空间。
IA32只提供了对进入过程和退出过程的控制,而数据传递、变量的分配和释放则要通过操作程序栈来实现。x86-64则是通过寄存器而不是栈来传递数据,这样极大地减少了存储器读写操作的数量。
[ Read More » ]