デフォルトのパッキングと #pragma pack
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/19 14:58 UTC 版)
「データ構造アライメント」の記事における「デフォルトのパッキングと #pragma pack」の解説
一部のMicrosoftコンパイラ、@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}特にRISCプロセッサでは[要出典][要ページ番号]、プロジェクトのデフォルトパッキング(/Zp ディレクティブ)と #pragma pack ディレクティブの間に予期しない関係がある。#pragma pack ディレクティブは、プロジェクトのデフォルトパッキングから構造体のパッキングサイズを減らすためにのみ[要出典][要ページ番号]使用できる。これはライブラリヘッダーとの相互運用性の問題を引き起こすケースがある(例えばヘッダーで #pragma pack(8) を使用し、プロジェクトのパッキングがこれよりも小さい場合)。このため、プロジェクトパッキングをデフォルトの8バイト以外の値に設定すると、ライブラリヘッダーで使用される #pragma pack ディレクティブが破棄され、構造間のバイナリの非互換性が発生する。x86用にコンパイルする場合は、この制限はない。
※この「デフォルトのパッキングと #pragma pack」の解説は、「データ構造アライメント」の解説の一部です。
「デフォルトのパッキングと #pragma pack」を含む「データ構造アライメント」の記事については、「データ構造アライメント」の概要を参照ください。
Weblioに収録されているすべての辞書からデフォルトのパッキングと #pragma packを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からデフォルトのパッキングと #pragma packを検索
- デフォルトのパッキングと #pragma packのページへのリンク