SSE命令を習得しようとしていますが、私は2つのマチスを掛けることを願っています。ポインタでユニオンポインタを宣言する
typedef union{
__m128 vec;
float* afloat;
}u_float;
int main(){
__declspec(align(16)) u_float *mat1;
mat1 = (u_float*)malloc(sizeof(u_float)*4);
for(int i = 0; i < 4; i++)
mat1[i].afloat = (float*)malloc(sizeof(float)*4);
for(int i = 0; i < 4; i++)
for(int j = 0; i < 4; j++)
mat1[i].afloat[j] = 1; // Error.
return 0;}
- なぜそれがそのエラーを投げている:私は
Access violation when typing in location
でそれらの一つ、プログラムがクラッシュを初期化しようとすると、しかし、ここでエラーがスローコードがですか?
- 問題を解決する最善の方法は何ですか?
この質問はどのようにSSE命令に関連していますか? – zx485
@ zx485後で '_mm_mul_ps'と' _mm_hadd_ps'関数を使ってマチスを乗算します。しかし、ここでの主な問題はSSEとは関係がありません。 – blackout
その組合のポイントは一体何ですか?どのようにして、後で '__m128'の値を保持するのかポインタを保持するのかをコードが決定しますか? '__m128 * vec'と書くのですか? –