所以从我之前的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);
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*ork 13
堆栈可能不会增长或减少.
每个堆栈帧都可以在堆内的随机点分配.
这实际上是在几个操作系统中完成的,以防止恶意代码堆栈粉碎.
堆栈向堆增长的概念只是教授堆栈概念的一种简单方法(当然,早期实现确实以这种方式工作,因为它很简单(当没有人尝试时,不需要做出比你需要的更难的东西)打破你)).