在编写一个 C 库以供其他语言调用并可能编译到多个平台时,哪种类型最适合表示布尔值?
我不能在当前项目中使用 C99,但如果可以,C99s bool 是否合适?
编辑: 我倾向于 unsigned char 或 unsigned int。是否有任何理由明确指定有符号或无符号,是否有助于避免任何歧义或陷阱,还是我应该简单地使用 int?
但是,当查看我使用的一些第三方库和其他关于 C、C++、Obj C 的线程时,似乎大多数库和语言设计者对哪种类型最适合用于 bools 有自己的想法。
现在这真的不是问题,因为此代码仅使用一个编译器为一个平台编译,但它可能稍后会被移植。
哪个是布尔类型以最大限度地提高可移植性的最佳选择?