摘要:
在我上一篇随笔中,我讨论了一个由于数组越界导致程序陷入死循环的情况及其原因。不过,其中还是有些疑问:如果变量跟数组处于同一数据段时(或是栈,或是非初始化数据段等等),它们在内存中是怎样安排的?于是,我重新又小实验了一下。对于代码:void foo(){ int a[4]; int i; for (i = 0; i <= 4; i++) { a[i] = 0; } }使用gcc -c生成目标文件后利用objdump -d反汇编一下,生成如下: 0: push %rbp 1: mov %rsp,%rbp 4: mo... 阅读全文
posted @ 2012-12-28 14:42
Sniweef
阅读(548)
评论(1)
推荐(0)
2012年12月28日