计算机常识类
CryptonymAMS
这个作者很懒,什么都没留下…
展开
-
加载地址和运行时地址 & 代码重定位 (2020)
2018年曾经写过该内容,2020年回顾了一下,发现之前所述有些谬误,加上排版有些问题,因此这里就再开一篇再做一次记录,也当是自己这些年的成长对比了。(该主题是对链接脚本中所用到的地址结合实际使用中的一些概念得出,链接脚本内容可以参考http://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_mono/ld.html#IDX237)2018的标题为编译...原创 2020-02-26 01:58:01 · 3101 阅读 · 2 评论 -
为什么需要内存对齐以及对齐规则的简单分析
Ubuntu 16.04.2编译环境arm-linux3.4.5linux-2.6.22.6首先需要知道的是:CPU每次从内存中取出数据或者指令时,并非想象中的一个一个字节取出拼接的,而是根据自己的字长,也就是CPU一次能够处理的数据长度取出内存块,比如32位处理器将取出32位也就是4个字节的内存块进行处理。这里有一个问题:是只需要两个字节怎么办?答案是还是取出4个字节,然后内存处理器...原创 2018-03-13 00:47:06 · 4456 阅读 · 0 评论 -
理解字节序---大端小端
本篇将以what,why,how三个维度讲述字节序what字节序,字面理解可知是字节(Byte)的顺序,是计算机科学针对多字节结构(变量或者文件等)的一种约定,目前分为大端字节序和小端字节序以一个uint32_t 的4字节类型为例,在该类型的变量中存入0x12345678,从变量的角度来看,0x12为变量的高字节,0x78为变量的低字节。当变量的高字节存放在内存的高地址,...原创 2020-02-01 12:50:41 · 777 阅读 · 0 评论