首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

同样是1字节对齐linux windows下的值如何不一样

2012-05-29 
同样是1字节对齐linux windows下的值怎么不一样C/C++ code#include stdio.h#include iostreamusing na

同样是1字节对齐linux windows下的值怎么不一样

C/C++ code
#include <stdio.h>#include <iostream>using namespace std;class CTest{public:virtual ~CTest(){}protected:        unsigned short m_wDeviceType;    char  m_achAlias[128 + 4];    char  m_ach164Num[16 + 1];    unsigned int m_dwDeviceIP;}__attribute__( (aligned(1)) );sizeof(CTest)   //160换成__attribute__((packed))也一样都是160#pragma   pack(push,1)class CTest{public:    virtual ~CTest(){}protected:        unsigned short m_wDeviceType;    char  m_achAlias[128 + 4];    char  m_ach164Num[16 + 1];    unsigned int m_dwDeviceIP;};#pragma   pack(pop)sizeof(CTest)   //159linux下编译器是g++


[解决办法]
探讨

#pragma pack(push,1) #pragma pack(pop)
也能在linux下跑么

热点排行