04b26dd)和字符串常量(0x004b29d0)被分配在了内存区域
- 004b2000 4K r-x-- var_memory,其中rx代表只读和可执行
全局变量global(0x004b4008),全局静态变量 static_global(0x004b400c),局部静态变量(0x004b4010)被分配在了数据段
- 004b4000 4K rw--- var_memory,其中rw代表可以读和写
使用malloc分配的空间(0x00d30160)处在堆(heap)里
- 00d30000 136K rw--- [ anon ]
共享库提供的全局变量errno(0xb7db86b4),被分配在共享库数据段里
- b7db8000 8K rw--- [ anon ]
共享库提供的函数printf(0xb7e0b1c0),被分配在共享库代码段里
- b7dba000 1852K r-x-- libc-2.26.so
局部变量(0xbf85518c,0xbf855198)被分配在了栈上
bf836000 132K rw--- [ stack ]
希望这篇文章,对同样困惑于C程序在内存中布局的你有所帮助。
|