對齊有一些非常奇怪的問題,並作爲初學者與c + +我不知道爲什麼。SSE與類
struct DeviceSettings
{
public:
....somevariables
DXSize BackbufferSize;
....somemethods
};
struct DXPoint;
typedef DXPoint DXSize;
__declspec(align(16)) struct DXPoint
{
public:
union
{
struct
{
int x;
int y;
};
struct
{
int width;
int height;
};
int dataint[2];
__m128i m;
};
DXPoint(void);
DXPoint(int x, int y);
~DXPoint(void);
void operator = (const DXPoint& v);
};
由於某些原因,當我聲明DeviceSettings應用程序崩潰導致DXSize var未正確對齊。
但是,只有在32位模式下編譯。在64位模式下工作良好...
任何線索?我錯過了明顯的東西?
什麼編譯器? – 2010-07-10 19:51:56
microsoft vC++ 2010 – feal87 2010-07-10 20:06:51