+ -
当前位置:首页 → 问答吧 → 如果查看运行中的变量所占的内存空间?

如果查看运行中的变量所占的内存空间?

时间:2011-12-01

来源:互联网

举个例子, 有个列表变量
CList *pList;

在运行中后面可以动态地挂了很多项, 这样如何得到pList占了多少内存空间呢? 如果能用print语句打印出来更好.

谢谢..

作者: lidengdeng   发布时间: 2011-12-01

这个必须自己实现内存的管理,

比如在这个结构中加上分配的大小,

可以参考网上的一些代码, 内存泄露方面的。

作者: zmlovelx   发布时间: 2011-12-01

该回复于2011-12-01 09:13:50被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
  • wskzgz
  • (wskzgz)
  • 等 级:
#3楼 得分:0回复于:2011-12-01 09:04:54
这要自己计算了吧,vc好像没这么先进,再说不知道你列表用什么方式存放的

作者: aizhinuo   发布时间: 2011-12-01

这些都是自己管理的。你自己malloc new 多少,就是多少。

作者: wskzgz   发布时间: 2011-12-01

1、malloc new 的大小

作者: icechenbing   发布时间: 2011-12-01

自己设计自己管理吧,vs断点调试 shife+F9很不错!!

作者: yuhaozx   发布时间: 2011-12-01

指针变量本身占的空间就只有4个字节(32位系统下保存一个地址)。
指针变量所指向的数据占的空间和具体数据类型以及内存分配过程相关。

MSDN98中的例子walker又名pwalk。完整列出指定进程的内存使用情况,显示进程地址空间内容,装载哪些DLL,代码、数据、堆栈段分配在何处,可以用来检测内存泄漏,监测内存使用。
http://download.csdn.net/detail/zhao4zhong1/3667896

VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
指针即地址。“地址又是啥?”“只能从汇编语言和计算机组成原理的角度去解释了。”

提醒:
“学习用汇编语言写程序”

“VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习C和汇编的对应关系。”
不是一回事!

不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。

作者: kingstar158   发布时间: 2011-12-01

或者说 如果知道程序运行到某个语句时, 这个时候整个程序所占的内存空间??

作者: zhao4zhong1   发布时间: 2011-12-01

热门下载

更多