jjzjj

MatrixWrapper

全部标签

c++ - 在哪些情况下 __declspec( align( # ) ) 不能工作?

我有一个类:classCMatrix4f{public:CMatrix4f();public:__declspec(align(16))floatm[16];};此类使用SSE实现矩阵运算,因此m必须对齐才能工作。它大部分时间都有效,但有时我在执行像_mm_load_ps这样的SSE指令时会遇到段错误,因为m不是16字节对齐的。到目前为止,我不明白它是在什么情况下发生的。当我执行CMatrix4f*dynamicMatrix=newCMatrix4f();时,dynamicMatrix.m是否保证对齐?如果我有一个类:classMatrixWrapper{public:MatrixWr