社区
C++ 语言
帖子详情
如果查看运行中的变量所占的内存空间?
lidengdeng
2011-12-01 05:31:07
举个例子, 有个列表变量
CList *pList;
在运行中后面可以动态地挂了很多项, 这样如何得到pList占了多少内存空间呢? 如果能用print语句打印出来更好.
谢谢..
...全文
375
11
打赏
收藏
如果查看运行中的变量所占的内存空间?
举个例子, 有个列表变量 CList *pList; 在运行中后面可以动态地挂了很多项, 这样如何得到pList占了多少内存空间呢? 如果能用print语句打印出来更好. 谢谢..
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
这个必须自己实现内存的管理,
比如在这个结构中加上分配的大小,
可以参考网上的一些代码, 内存泄露方面的。
Windows内核-内存管理
- 不管什么程序,除了程序代码本身所
占
用的空间外,程序在
运行
过程
中
总得使用一定的
内存空间
,因为数据也要
占
用空间。这些存储数据的
内存空间
大致可分为三类: - 全局
变量
:编译工具链接的时候就静态的分配...
C语言指针
变量
内存大小,指针
变量
占
用的
内存空间
大小说明
指针
变量
占
用的
内存空间
大小根据所使用的操作系统及编译环境而定,指针类型
占
用的字节数是不同的。一般而言:16位机器的代码时,指针
占
2个字节32位机器的代码时,指针
占
4个字节64位机器的代码时,指针
占
8个字节对于...
关于共用体所
占
的
内存空间
的问题
共用体`共用体(联合)`共用体类型
变量
的定义共用体
变量
的引用...共用体类型的
变量
占
用
内存空间
的大小等于成员分量
中
最长的分量所
占
用内存的长度 共用体
变量
的引用方式 先定义,后使用 注意!!!:只能引用共用体
变量
c/c++关于引用
变量
是否
占
用
内存空间
。
我的结论:引用不
占
用
内存空间
。 C++Primer(5版)一书
中
指出: 定义引用时,程序把引用和它的初始值绑定(bind...而且在实际编译
运行
操作
中
,打印引用的地址结果与
变量
的地址一样,故我认为引用并不
占
用
内存空间
。 ...
指针
变量
占
用的
内存空间
大小说明
指针
变量
占
用的
内存空间
大小根据所使用的操作系统及编译环境而定,指针类型
占
用的字节数是不同的。 一般而言: 16位机器的代码时,指针
占
2个字节 32位机器的代码时,指针
占
4个字节 64位机器的代码时,指针
占
8个...
C++ 语言
64,647
社区成员
250,475
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章