‘壹’ 请问编程人员在编程的过程中会知道自己的程序到底会占多大内存吗
不能的
你想啊 程序运行到一个子函数的的时候 子函数里声明一个变量要现分配内存吧 开一个数组要现分配内存吧 这个子函数结束了 内存肯定要释放吧
所以内存情况根本就是时刻变化的 而且也不是简单统计变量和类、结构声明的大小就行,调用一个函数还涉及压栈什么的呢
所以对于内存的占用 非常精确的的统计是不可能而且没意义的
如果只是想大概观察程序运行过程中占用内存的情况 像鲁大师什么的 都可以很简单直观地查看现在内存总体的被占用情况
‘贰’ IAR编译器中怎么查看使用了多少内存
编译生成的中间文件中有一个后缀是.map的,可打开它,其中包含了你的程序中各部分占用的资源详细情况,可根据它进行工程选项调整。
‘叁’ 哪个C语言编译器可以在调试的时候能看到内存信息
用VC6.0就行了,以全英文版为例。
在你要看内存的程序代码段,点手掌图标(设断点的意思),点F5(运行到断点处),点VIEW->debeg windows->里面有几个选项,分别是1、Memory(查看内存,你可以在里面写出你要看的地址值,比如0x10000000),2、Registers(查看32位寄存器值),3、Disassembly(反汇编,可以查到写的C语言,反汇编代码的纯汇编),4、Call Stack(查看堆栈的值,对你写的函数反向调用)。其它的不一定很有用,在主界面就可以看到。