UfcppSample
UfcppSample copied to clipboard
複合型のレイアウト > Autoレイアウト の Sample の構造体サイズ
いつも参考にさせてもらっています。
[TOP C# によるプログラミング入門 [相互運用] 複合型のレイアウト](https://ufcpp.net/study/csharp/interop/memorylayout/#auto-layout)
を見ながら sizeof 演算子で構造体サイズを確認しているときに気付いたのですが、 本文には「12バイトのレイアウトになります。」とありますが、LINQPad で動かしてみたら16バイトになりました。
Auto だから処理系によってレイアウトが違うから?と一瞬考えましたが レイアウト図の A・C で4バイトとある箇所が実際には8バイトになるので計16バイトになるのではと思います。 ただし、試していませんが 32bit 処理系で動かしたら A・C が4バイトになって計12バイトになるような気がします。
32ビット環境と64ビット環境差ですかね。おそらく。 おっしゃる通り Auto だと環境によって変わる可能性あります。32/64に限らず、バージョン変わってサイズが変わっても文句は言えないかと。
文面調整するかどうかは考えてみます。
さっそくの返信ありがとうございます。 明記していませんでしが私のは 64bit 環境で動かしてみた結果で、仰るように Auto なので...と考えるととやかく言うほうがどうかしてますね(すみません)。
これからも勉強になるいい記事を勝手に期待させて貰います。 それではお邪魔しました。