【发布时间】:2011-04-04 02:38:39
【问题描述】:
所以从我之前的 memmove 问题中,我想知道如何找到堆栈增长的方向。
void stackDirection(int* i)
{
int j;
if(&j>i)
cout<<"Stack is growing up \n"<<endl;
else
cout<<"Stack is growing down \n"<<endl;
}
int main()
{
int i=1;
stackDirtection(&i);
}
【问题讨论】:
-
你的代码不起作用,或者问题出在哪里?
-
问题是我不能说这段代码是否正确
-
imo 更好的测试是顺序 _alloca 调用,因为堆栈指针将位于同一堆栈帧中,并且不会受到任何编译器优化
-
如果您进行实验,并获得有效且可重复的结果……
-
同一个函数本身比较两个变量的地址比较好。在 main 本身中,您可以创建 j 变量并比较地址。它应该给出有效的结果。
标签: c++