7
私はMarshal.GlobalHAlloc
を使用してメモリを割り当てます。ドキュメントによると: "このメソッドはKernel32.dllからWin32 LocalAlloc関数を公開します。" GlobalAlloc
のドキュメントでは、8バイトに整列されていますが、LocalAlloc
は整列については何も言わないと言います。16バイトのアライメントでメモリを割り当てる方法は?
たとえば、1024バイトを割り当て、16で整列されていることを確認します。私は1024 + 16バイトを割り当てた後、ポインタ%16をチェックしますか?結果が0の場合、メモリが整列していることを意味し、0でない場合は、期待通りのポインタをインクリメントします。問題は私が知っている、私は本当に物理メモリに位置合わせされているポインタを揃えている場合はわからないですか?