所以我将我的一个程序移植到一个新的游戏机上。问题是用于编译我的c ++应用程序的SDK不支持__int16
,但它确实有int16_t
。
使用int16_t
代替__int16
是否“安全”?
另外,如果我没有弄错,我可以使用unsigned short int
代替16位integer
,而不是使用int16_t
或__int16
吗?
答案 0 :(得分:1)
他们将是一样的。
人们习惯于在标准宽度类型出现之前定义它们自己的固定宽度类型。只需使用typedef - 这就是它们的用途。
答案 1 :(得分:1)
int16_t
和__int16
都应该是16位整数。用一个代替另一个应该没问题。 unsigned short int
完全不同。它是无符号的而不是签名的,并且它不能保证为16位。最终可能会有不同的规模。