我正在阅读B.Stroustrup的“使用C++编程原则和实践”,我正在尝试做大部分练习。这一个非常有趣,我不知道从哪里开始。内存布局练习C++
的运动是:
17.4考虑布局。编写一个程序,用于说明静态存储,堆栈和免费存储在内存中的排列顺序。堆栈向哪个方向发展:向更高的地址上升还是向下的地址下降?
布局17.4:
码 - 存储器,用于代码
静态数据 - 全局变量
自由存储空间 - 可用内存
堆栈 - 内存调用函数和空间的参数和局部变量
我怎样才能真正知道这一切发生的顺序?更好的是,我怎么才能真正输出顺序呢?
是不是应该由编译器来处理,或许我只是误解了这个练习?很少的技巧会非常酷!
感谢
打印出指向每个段中存在的事物的指针。虽然这假定指针值实际上对应于物理内存位置... – 2015-04-03 19:48:13
请在您的问题中更具体些。如果你能缩小你的问题,那么这个问题会很好。例如,“不是应该由编译器处理”中的“它”是什么? – ryanyuyu 2015-04-03 19:48:44
是的,我的意思是所有这些内存给予程序的不同部分(全局变量,堆栈,免费存储)。我所知道的是,编译器正在为我们做这些东西,但据我了解,我必须以某种方式使程序,显示编译器在做什么,他在做什么 – etrusks 2015-04-03 19:54:57