最近、異なるハードウェアアーキテクチャで動作する2つのアプリケーションを統合していました。ネットワークバイトオーダーの問題と構造体のパディングの問題がありました。ビットフィールドとプラグマ
どちらも、修正するのは簡単だった - パディングのために特別に、私はちょうどように私のネットワーキングの構造体の周りにプラグマを追加する必要がありました:
#pragma pack(1)
struct {};
#pragma pack(0)
私は私が持っている昨日たもののビットフィールドに関連する質問のカップルを見ました使われたことがない。私は疑問に思っていました...ビットフィールドを使って構造体を定義することによって、パディングをやめさせるのがより適切でしょうか?このシナリオでは、これはまったく役に立ちましたか?
また、私はC++コードの多くをビットフィールドに当てていません。それらはあまり使われていないCのものか、それを使用していないコードで作業したことがありますか?
ビットフィールドを使用するコードで作業したことはありません。彼らは**適切な場所で非常に便利です**。彼らは適切である場所は、いくつか特定しています。 –