读书人

int数组入栈有关问题

发布时间: 2012-03-30 17:32:09 作者: rapoo

int数组入栈问题
void __fastcall TForm1::btn1Click(TObject *Sender)
{
unsigned int buffer[2]={1769369,1769369},result=1769369;
asm
{
//push buffer[0];
push buffer[1];
//push result;
pop result;
}
ShowMessage(result);
}
上面的代码,buffer[1]入栈后再出栈值就变了,buffer[0]却不变,为什么?

[解决办法]
因为:
push buffer[1];
在汇编里是指离buffer首地址差1字节的地方,而不是4字节:)

读书人网 >C++ Builder

热点推荐