他の言語で呼び出され、おそらく複数のプラットフォームにコンパイルされるCライブラリを作成する場合、ブール値を表すのに最も適切なタイプはどれですか。
現在のプロジェクトではC99を使用できませんが、可能であれば、C99のブール値は適切でしょうか?
編集: 私はunsignedcharまたはunsignedintに傾いています。符号付きまたは符号なしを明示的に指定する理由はありますか、あいまいさや落とし穴を回避するのに役立ちますか、それとも単にintを使用する必要がありますか?
しかし、私が使用しているサードパーティのライブラリのいくつかと、C、C ++、Obj Cに関する他のスレッドを見ると、ほとんどのライブラリと言語の設計者は、boolに使用するのに最適なタイプについて独自の考えを持っているようです。
このコードは1つのプラットフォームに対して1つのコンパイラでのみコンパイルされるため、これは実際には問題ではありませんが、後で移植される可能性があります。
移植性を最大化するためのブール型の最良の選択はどれですか?