我刚刚学会了4或8种记忆对齐方式,并提出了这个问题。
内存对齐发生在虚拟内存空间还是绝对地址中?
我想答案是虚拟内存空间,操作系统会将进程加载到绝对地址以"0X00"或"0X0"结尾的位置。
如果没有,请告诉我原因。多谢。鑫达
在适当的情况下,虚拟地址和实际地址都将与 CPU 的本机字大小(*(进行字对齐。 (原因是虚拟到物理的映射是按页完成的,内存页的大小始终是 CPU 本机字大小的偶数倍(。
(*( 例外情况是小于一个单词的项目,并且连续打包在一起以节省内存;例如,char
数组和uint_8
数组中的许多单个元素必然不会对齐。