在linux下对以个自动变量取址得到什么? 内附几行代码
unsigned tasksize;
void configure(void)
{
unsigned val;
task_size = ((unsigned)&val + 1024*1024*1024 ) / (1024*1024*1024) * 1024*1024*1024;
}
void main()
{
configure();
}
这样的代码得到的task_size是什么? 谢谢. 我运行了一下, 是-1073741824. 每次运行结果相同.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这样做有什么意义呀?
这还用说吗,你的程序每次都装到同样的地址空间里,那个变量的位置当然每次都一样了.
这样做的目的是找到一个进程线性地址空间的末端, 或者类似的功能, 我想问一下这种变量存放在程序的哪一个段: 比如堆, 数据, 堆栈, 代码????
这个变量是在栈中存放的。