面试宝典(PART IV)数据对齐问题
来源:互联网 发布:图片热点 js 编辑:程序博客网 时间:2024/05/29 04:27
示例代码:
#include <cstdio>#include <cstring>using namespace std;class B{private: bool bool_a; int int_a; bool bool_b;};class C{ int int_a; bool bool_a; bool bool_b;};int main(){ printf("sizeof B=%d\n",sizeof(B)); printf("sizeof C=%d\n",sizeof(C));}
输出结果:
结果分析:
为何两者的输出结果不同。
在内存中,数据所在的内存地址必须是该数据长度的整数倍。
X86CPU可以直接访问对齐的内存,但是在访问没有对齐的内存的时候,就会在事先做出一系列的调整。这些调整对程序来说是透明的,但是会影响运行速度。所以编译器在编译程序的时候会尽量保证数据的对齐。
图解:
阅读全文
0 0
- 面试宝典(PART IV)数据对齐问题
- 程序员面试宝典学习记录004(内存中的数据对齐)
- 《程序员面试宝典》第6章sizeof和数据对齐
- 面试宝典(PART III)大端小端
- 面试宝典 (PART V)迷途指针和空指针
- 面试宝典(PART VI) 各种各样的指针
- 大数据面试宝典
- 大数据面试宝典
- 大数据面试宝典
- 面试宝典 问题记录
- 面试宝典 问题记录
- 面试宝典(PART II)位运算(II)X&(X-1)的几个运用
- 面试宝典(PART I)位运算(I)求X和Y的平均数
- 数据对齐详解——面试经典问题
- 笔试面试宝典字符串问题
- 《程序员面试宝典》指针问题
- 面试宝典(三)
- dp(uva10201Adventures in Moving - Part IV)
- 微信无法登陆,您绑定的QQ号疑似被盗解决方案
- 程序员技术练级攻略
- STL排序函数sort和qsort的用法与区别
- 【利用perl的基因数据处理】复杂数据结构:矩阵 and Edit Distance Matrix
- arm MMU机制
- 面试宝典(PART IV)数据对齐问题
- 过滤敏感词
- 10.13 shell脚本
- 与其支持开源软件,不如加大反盗版力度
- weblogic非正常关闭 启动不起来解决办法
- java中关键字的定义以及如何识别关键字
- 使用MoveWindow()函数来移动指定句柄的窗口在屏幕中的显示位置及这个窗口的大小
- 理解ARM中断原理以及中断嵌套
- 五星评价(包含半个星星)