C语言编译

四个步骤

一、预处理阶段
       展开头文件,宏替换,条件编译,去掉注释
二、编译阶段
      检查语法错误,生成汇编代码
三、汇编阶段
     把汇编代码转换成二进制机器码
四、链接阶段
     将所有机器码链接在一起,生成可执行程序
 
字节对齐:
 (1)当前成员变量之前的总容量必须为此变量大小的整倍数 (2)整个结构体的总容量必须为最大成员变量的整数倍


1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。
2、结构(或联合)的整体对齐规则:在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。

posted @ 2019-11-18 08:32  一颗蘋果  阅读(117)  评论(0编辑  收藏  举报