函数的返回值去向?
如果调用函数时,不使用它的返回值,如:a(); 那函数a的返回值在内存的什么地方呢?
[解决办法]
函数的实参放在栈中;
函数的返回值如果是内建类型放在第一个通用寄存器中(在32位x86中,就是eax,ax,al,根据不同长度选择);
但是如果是用户创建类型,则放在栈中(先压实参再压返回值),eax中存储指向栈中返回值的指针。
发布时间: 2012-02-07 17:45:36 作者: rapoo
函数的返回值去向?
如果调用函数时,不使用它的返回值,如:a(); 那函数a的返回值在内存的什么地方呢?
[解决办法]
函数的实参放在栈中;
函数的返回值如果是内建类型放在第一个通用寄存器中(在32位x86中,就是eax,ax,al,根据不同长度选择);
但是如果是用户创建类型,则放在栈中(先压实参再压返回值),eax中存储指向栈中返回值的指针。