关键字#pragma pack(1)...#pragma pack()有何作用?pragma是什么的简称?
来源:互联网 发布:镇江市美工招聘信息网 编辑:程序博客网 时间:2024/04/30 12:45
#pragma pack(1) 是指定字节对齐方式为 1 byte
#pragma 其实就是控制编译的参数
由于编译器存在数据对齐的问题,如果在定义数据类型的时候不用这两个东东,编译器就会按照默认的方式进行对齐,比如一个BYTE型的变量,长度就可能不再是一个字节,会出现一些预想不到的结果
举个简单的例子:
struct st
{
int m_iMember1;
char m_cMember2;
long m_lMember3;
}
在使用#pragma pack(1) 时sizeof(st)=9(32位机器)
vc默认:sizeof(st)=16 因为VC默认以8字节对齐,其他编译器可能不一样。
如果使用#pragma pach(4): sizeof(st)=12;Top
vc默认:sizeof(st)=16 因为VC默认以8字节对齐,其他编译器可能不一样。"
是不对的.在32位机器上的结果是12.因为32位CPU不能支持8字节以上的对齐方式.它都以4字节方式对齐的.Top
- 关键字#pragma pack(1)...#pragma pack()有何作用?pragma是什么的简称?
- #pragma pack的作用
- #pragma pack的作用
- #pragma pack的作用
- #pragma pack(1) 的意义是什么
- #pragma pack(1) 的意义是什么
- #pragma pack(1) 的意义是什么
- #pragma pack(n) 的作用
- #pragma pack(n) 的作用
- #pragma pack(n) 的作用
- #pragma pack(n) 的作用
- #pragma pack(n) 的作用
- #pragma pack(n)的作用
- #pragma pack(n) 的作用
- #pragma pack(n)的作用
- VC----#pragma pack作用
- #pragma pack(n)作用
- #pragma pack(push,1) & #pragma pack(pop)
- IBM助力南京市玄武区完成“数字玄武”规划主体建设
- 如何在putty中显示日文的方法
- Flash memory 101: An Introduction to NAND flash
- Emeditor免费版功能增强
- vc皮肤控件
- 关键字#pragma pack(1)...#pragma pack()有何作用?pragma是什么的简称?
- Common HTTP Response Codes & HTTP Request Methods
- 如何在CentOS 5.2中安装vnc
- 正则表达式汇总
- Eclipse 3.4+MyEclipse 6.01+MyEclipse 6.01注册机+Eclipse 3.1.1汉化包+Myeclipse6.0使用教程官方下载地
- Video Drivers 和 OpenGL
- 2008.10.08 晴
- eMule分析之ED2K链接格式的创建
- JSEclipse——Eclipse上的JavaScript开发工具