Windows (リトル エンディアン) と Linux Embedded (ビッグ エンディアンとリトル エンディアン) の 3 つのハードウェア プラットフォームをサポートする必要があります。データ ストリームは使用するマシンに依存しており、データをビット フィールドに分割する必要があります。
詳細を抽象化するために、(可能であれば) 単一のマクロを作成したいと思います。Linux では、リトル エンディアン変換にbswap_16
/ bswap_32
/を使用できます。bswap_64
ただし、Visual C++ のインクルードでこれを見つけることができません。
両方のプラットフォーム (Windows と Linux) 用の汎用ビルトインはありますか?
そうでない場合、バイトスワッピングを行うためにVisual C++で何を使用できますか(自分で書く以外に-マシンに最適化された組み込みを期待しています)?
ありがとう。