1

#pragma pack()GCCコンパイラで引数なしで呼び出すための配置は何ですか?

また、placement newオブジェクトの作成に使用すると、classがパックされることがよくあります。その理由は何ですか?そうする必要がありますか?

4

1 に答える 1

2

最初の部分では、Googleを無謀に使用した可能性があります:http://gcc.gnu.org/onlinedocs/gcc/Structure_002dPacking-Pragmas.html

次に、クラスのバイナリ形式を制御する必要がある場合があります。メモリの量とデータ構造の実際のバイナリオフセットを管理する必要がある場合があります。

struct
{
  char c;
  int i;
};

使用するマシンタイプとプラグマパックに応じて、8バイトのメモリまたは5バイトのメモリを使用する場合があります。

于 2011-05-05T04:13:13.707 に答える