摘要: 在C的世界中,因为要考虑效率问题,所以在申请一段内存的时候,需要根据寄存器的宽度进行对齐。因此,对于32位的程序,按照4字节对齐;对于64位的程序,则按照8字节对齐。 o 下面使用位运算给出实现: o 用Python代码简单实现并验证一下: o 测试 最后,以8字节对齐讲解其实现原理。 设x = 8 阅读全文
posted @ 2017-02-15 15:35 veli 阅读(1263) 评论(0) 推荐(0)
摘要: 理解ELF的BSS section, 可以概括为: Uninitialized global/static data "Block Started by Symbol" "Better Save Space" Has section header but occupies no space CSAP 阅读全文
posted @ 2017-02-15 10:35 veli 阅读(4860) 评论(0) 推荐(1)
摘要: 一个典型的C程序内存布局,从低地址到高地址分别为: 1. text (正文段,即代码段 Code Segment) 2. data (已经初始化的数据段) 3. bss (未被初始化的数据段 Block Started by Symbol) 4. heap (堆) 5. stack (栈) 注1:上 阅读全文
posted @ 2017-02-15 08:54 veli 阅读(428) 评论(0) 推荐(0)