9

この単純なSSEコード:

#include <vector>
#include <emmintrin.h>

int main() {
    std::vector<__m128> blah;
    blah.push_back(__m128());
}

でセグメンテーション違反が発生したMSVC10でクラッシュし0xffffffffます。

何がうまくいかない可能性がありますか?

4

1 に答える 1

13

Aは、データを格納する必要がstd::vectorある特別に調整されたメモリを割り当てません。__m128アロケータを交換するか、4つのフロートの配列に置き換えてから、ベクトルにアクセスするたびに、位置合わせされていないロードを実行するか、位置合わせされた場所にコピーする必要があります。

于 2012-07-27T00:25:50.643 に答える