C/C++ 標準では1 文字あたり最低8 ビットしか保証されておらず、理論的には 9/16/42/その他の可能性があり、したがって、移植可能なコードの記述に関するすべてのサイトは 8bpc を想定しないように警告していることを知っています。私の質問は、これが実際にどのように「非移植性」であるかということです。
説明させてください。私が見ているように、システムには 3 つのカテゴリがあります。
- コンピューター- Mac/Linux/Windows/Unix/*nix/posix/その他を実行しているデスクトップ、ラップトップ、サーバーなどを意味します (リストが厳密には正しくないことはわかっていますが、おわかりでしょう)。正確に8 ビットで
char
はないようなシステムがあると聞いて、私は非常に驚かれることでしょう。(間違っていたら訂正してください) - オペレーティング システムを搭載したデバイス- これには、スマートフォンやそのような組み込みシステムが含まれます。8 ビット以上のシステムを見つけてもあまり驚かないでしょうが
char
、これまでに聞いたことがありません (知らない場合はお知らせください)。 - ベア メタル デバイス- VCR、電子レンジ、古い携帯電話など。この分野では私は少しも経験がないので、ここでは何でも起こり得ます。しかし、コードを Windows デスクトップと電子レンジの間でクロス プラットフォームにする必要があるのでしょうか。両方に共通のコードを持つ可能性はありますか?
結論: 8 ビット以外の一般的な (%0.001 以上の) プラットフォーム (上記のカテゴリ 1 および 2)char
はありますか? そして、私の上記の推測は本当ですか?