2012年7月15日
摘要: 代码生成,函数的返回值是个问题,如果返回值是简单类型,如int, char等,一个字节可以容纳,那编译器的做法是将值直接存在eax寄存器中.代码为证c代码:#include <stdio.h>int add(int a, int b){ return a + b;}int main(){ int a = add(2,3); return 0;}gcc -S add.cadd.s汇编代码:.globl add .type add, @functionadd: pushl %ebp movl %esp, %ebp movl 12(%ebp), %ea... 阅读全文
posted @ 2012-07-15 23:31 Jianfei Hu 阅读(3826) 评论(8) 推荐(1) 编辑