__attribute__((packed));
これはいくつかの低レベルの開発にとって重要であるため、メモリに保存されているアイテムをstruct
次々と作成するために使用します。
GCC固有のよう__attribute__((packed));
に、すべてのANSI/C89/C99/C11コンパイラまたは少なくともそれらの一部で機能する同様のソリューションがあるかどうか疑問に思います。
2 に答える
3
何ができるかを達成するための標準的なアプローチはあり__attribute__((packed))
ません。典型的な解決策は、 を使用#ifdef
してさまざまなコンパイラを処理することです。に相当する Visual C++ の詳細も含まれているこのSO 投稿で、このアプローチに対するいくつかの解決策を見つけることができます__attribute__((packed))
。あるいは、GCC は Windows 構造体パッキング プラグマをサポートしているため、Windows と GCC だけに関心がある場合は、Windows のアプローチを使用できます。
于 2015-07-21T19:14:25.547 に答える