时不时地,有人指出 char
(又名‘ byte’)不一定是8位。
似乎8位 char
几乎是通用的。我认为对于主流平台来说,有必要使用8位 char
来确保它在市场上的生存能力。
现在和历史上,什么平台使用的 char
不是8位,为什么他们会不同于“正常的”8位?
在编写代码和考虑跨平台支持(例如通用库)时,对于具有非8位 char
的平台,应该考虑哪些因素?
在过去,我遇到过一些 char
为16位的模拟设备 DSP。我认为 DSP 是一种小众体系结构。(话又说回来,当时手工编码的汇编程序很容易就打败了现有的 C 编译器,所以我在那个平台上并没有获得太多 C 方面的经验。)