

问题点数:分
-->

更多帖子

本版专家分:22682
变量存放在何处是compiler的权利,并非完全一样
宏定义不产生函数c语言内存分配对应,在编译是直接替换

更多帖子

本版专家分:22682
变量存放在何处是compiler的权利,并非完全一样
宏定义不产生函数,在编译是直接替换

更多帖子
fzamygsd

本版专家分:1327

堆栈
不过虽然你写的貌似是单片机C,,,,,,,
这些跟平台有关。。。。

更多帖子
wang19847277

本版专家分:6
51单片机C程序,keil编译环境,8KFlash存储,512+256字节RAM
那么请问上电后,调入内存执行的程序有很大,是怎样确认的呢?什么内容会被调入至内存执行?
引用1楼的回复:变量存放在何处是compiler的权利,并非完全一样
宏定义不产生函数,在编译是直接替换

更多帖子
ies_sweet

本版专家分:2546
引用1楼的回复:变量存放在何处是compiler的权利c语言内存分配对应,并非完全一样
宏定义不产生函数,在编译是直接替换
++
一般来说,会有全局/静态区,堆区,栈区之分
和软件系统、操作系统(如果有)都有一定的关系

wang19847277

本版专家分:6
我想知道运行起来后,这些定义是否会占用存储呢?比如数组,是不是要占用1字节的地址呢

更多帖子
赵4老师

本版专家分:382264


状元2017年 总版技术专家分年内排行榜第一


榜眼2014年 总版技术专家分年内排行榜第二


探花2013年 总版技术专家分年内排行榜第三



进士2018年总版新取得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
linux下:objdump
windows下:dumpbin

更多帖子
赵4老师

本版专家分:382264


状元2017年 总版技术专家分年内排行榜第一


榜眼2014年 总版技术专家分年内排行榜第二


探花2013年 总版技术专家分年内排行榜第三


进士2018年总版新取得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七

《程序员的自我修养——链接、装载与库》
计算机组成原理→DOS命令→汇编语言→C语言(不包含C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、原理、正则表达式→其它语言(包括C++)、架构……
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都知道了吗。
对VC来说,所谓‘调试时’就是编译连接通过之后,按F10或F11键单步执行一步以后的之后,或者在某行按F9设了断点后按F5执行停在该断点处的之后。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
提醒:
“学习用汇编语言写程序”
和
“VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都知道了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)”
不是一回事!
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时必定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!
有人说一套做一套,你相信他说的而是坚信他做的?
其实严格来说这个世界上古往今来所有人都是说一套做一套,不是吗?

更多帖子
wang19847277

本版专家分:6
赵老师居然来了,昨天还看了你一篇帖子。。
话说出来,你说的很间接了,我只想知道上面这些定义在单片机上电运行后,在存储器中如何分配,占用存储情况。这个是基础。。。但是我就想听专家给个确认的答案,网上说法众多,有时候不能理解。。。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-140307-1.html
你们就靠着混日子了