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

lidengdeng 2011-12-01 05:31:07
举个例子, 有个列表变量
CList *pList;

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

谢谢..
...全文
375 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
iblold 2011-12-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lidengdeng 的回复:]
引用 9 楼 iblold 的回复:

引用 8 楼 lidengdeng 的回复:
或者说 如果知道程序运行到某个语句时, 这个时候整个程序所占的内存空间??


打开系统的任务管理器->进程
找到你的程序,看内存列


打开任务管理器, 是可能看到内存使用情况, 但怎么能够知道是在执行某条语句前的内存使用情况, 毕竟程序是一直执行着的.
[/Quote]

设置断点……
iblold 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lidengdeng 的回复:]
或者说 如果知道程序运行到某个语句时, 这个时候整个程序所占的内存空间??
[/Quote]

打开系统的任务管理器->进程
找到你的程序,看内存列
lidengdeng 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 iblold 的回复:]

引用 8 楼 lidengdeng 的回复:
或者说 如果知道程序运行到某个语句时, 这个时候整个程序所占的内存空间??


打开系统的任务管理器->进程
找到你的程序,看内存列
[/Quote]

打开任务管理器, 是可能看到内存使用情况, 但怎么能够知道是在执行某条语句前的内存使用情况, 毕竟程序是一直执行着的.
lidengdeng 2011-12-01
  • 打赏
  • 举报
回复
或者说 如果知道程序运行到某个语句时, 这个时候整个程序所占的内存空间??
赵4老师 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、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。

追求执着 2011-12-01
  • 打赏
  • 举报
回复
自己设计自己管理吧,vs断点调试 shife+F9很不错!!
yuhaozx 2011-12-01
  • 打赏
  • 举报
回复
1、malloc new 的大小
恨天低 2011-12-01
  • 打赏
  • 举报
回复
这些都是自己管理的。你自己malloc new 多少,就是多少。
柯大侠爱喝水 2011-12-01
  • 打赏
  • 举报
回复
这要自己计算了吧,vc好像没这么先进,再说不知道你列表用什么方式存放的
帅得不敢出门 2011-12-01
  • 打赏
  • 举报
回复
这个必须自己实现内存的管理,

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

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

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧