150
939
2954
初级工程师
使用特权
55
2032
6459
高级工程师
int main() { char buffer[1024*1024*128]; //仅适用于单片机环境 for(i=0; i<sizeof(buffer); i++) { buffer[i] = i } return 0; }
int main() { char * p = malloc(100); for(i=0; i<200; i++) { p[i] = i } return 0; }
6
2111
6841
22
272
836
高级技术员
江枫渔火 发表于 2013-10-14 09:58 常言所说的堆栈溢出,就是指栈溢出。 使用 malloc(); 函数是动态分配内存堆区的空间,一般的程序如没用这个 ...
南宫云明 发表于 2013-10-14 10:20 路过的菜鸟问一下。。。数组越界是不是算堆溢出? 像我们平时用keil,一般不会注意去分配堆栈空间,是不 ...
aozima 发表于 2013-10-14 09:20 栈溢出堆溢出
31
260
816
江枫渔火 发表于 2013-10-14 11:42 数组越界 跟 栈溢出 是两个不同概念 数组越界:首先这是说明已经定义了一个数组,你在引用这个数组的单 ...
2180
6821
南宫云明 发表于 2013-10-14 12:45 话说堆溢出我看好像就是数组越界吧。。。
江枫渔火 发表于 2013-10-14 15:48 你理解错误了,堆这种东西,其实是内存中剩余的空间。内存里,分配给了静态区(全局变量与静态局部变量), ...
2
61
194
中级技术员
561
1851
助理工程师
wolension 发表于 2013-10-14 17:25 好像有很多台系的芯片都只有几级的硬件堆栈(hardware stack),而且没有软件堆栈,只要你调用嵌套多一点都 ...
chenbb8 发表于 2013-10-14 17:46 栈不是只是SP自增加就行么,进入子函数之前保存PC然后保存上下文。 为什么要设计这样复杂无用的分层结构 ...
wolension 发表于 2013-10-15 08:40 有些芯片是SP用户是看不到的,也没有PUSH,POP之类的指类,你可以去看下PIC16C56的datasheet,你的PC和上 ...
发表回复 本版积分规则 回帖后跳转到最后一页
时间类勋章
发帖类勋章
等级类勋章
人才类勋章
9
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号