5

ELFファイル形式では、別名にAlignmentフィールドがあります。Segment Header TableProgram Header Table

Windows PE ファイル形式の場合、次のレベルに進みます。セクションには 2 つのアラインメント値があり、1 つはディスク ファイル内にあり、もう 1 つはメモリ内にあります。PE ファイルのヘッダーは、これらの値の両方を指定します。

私はこの配置について何も理解していませんでした。何のために必要ですか?どのように、どこで使用されますか? 繰り返しますが、バイナリ ファイル形式のコンテキストでアライメントとは何かわかりませんが、なぜそれが必要なのですか?

4

1 に答える 1

3

まあ、整列は通常、32、64、128ビットなどの「ラウンド」スペースを占有するために、ある値のストレージサイズを拡大しています.

バイナリ形式について話している場合は、形式処理を最適化するために行われる場合があります。一部の「ラウンド」データ長部分を読み取り/書き込みすると、読み取り/書き込み操作が速くなる可能性があります。

私が今思いつくより良い言葉で表現された、あなたのための読み物を見つけました:

データ構造のアライメント

データ構造のアラインメントとは、コンピューターのメモリ内でデータを配置してアクセスする方法です。これは、データの配置データ構造のパディングという 2 つの別個の関連する問題で構成されています。最新のコンピュータがメモリ アドレスから読み書きする場合、ワード サイズのチャンク (32 ビット システムでは 4 バイト チャンク) でこれを行います。データ アライメントとは、ワード サイズの倍数に等しいメモリ オフセットにデータを配置することを意味します。これにより、CPU がメモリを処理する方法により、システムのパフォーマンスが向上します。データを揃えるために、最後のデータ構造の終わりと次のデータ構造の始まりの間に無意味なバイトを挿入する必要がある場合があります。これは、データ構造のパディングです。

于 2010-03-07T19:16:26.280 に答える