- 81 名前:50 mailto:sage [2012/07/26(木) 10:55:57.36 ]
- >>56
gccにアセンブラ出力させてtmp = ary[i];のところを見てみたら movl $7, %eax movl %edx, %edi movl %ebx, %esi movl %eax, %ecx rep movsl となっていました。ecxの7は7*4=28バイトで丁度構造体配列のひとつ分なので構造体を丸ごと入れ替えてます。 なので、構造体配列はポインタ(アドレス)の配列を使わずにそのままメンバをメモリ上に並べています。 構造体はポインタ配列などと書いてすみませんでした。
|

|