摘要:
在C的世界中,因为要考虑效率问题,所以在申请一段内存的时候,需要根据寄存器的宽度进行对齐。因此,对于32位的程序,按照4字节对齐;对于64位的程序,则按照8字节对齐。 o 下面使用位运算给出实现: o 用Python代码简单实现并验证一下: o 测试 最后,以8字节对齐讲解其实现原理。 设x = 8 阅读全文
摘要:
理解ELF的BSS section, 可以概括为: Uninitialized global/static data "Block Started by Symbol" "Better Save Space" Has section header but occupies no space CSAP 阅读全文
摘要:
在C语言中,如果我们要访问一个数组的某个下标对应的元素,通常的写法是a[i]。但从汇编的角度看,写成i[a]一点问题都没有。 下面通过代码给出证明。 o foo1.c o foo2.c o foo3.c o 编译和运行 o 反汇编后diff 1) foo1.gdb.out 2) foo2.gdb.o 阅读全文