【发布时间】:2013-10-24 07:26:33
【问题描述】:
我运行一个使用 C++ 编码的游戏服务器,还有一点 ASM 和 C。我看到有人更新了我运行的同一台服务器,在所有更新中,所有 int、unsigned、short 以及其他所有内容他都更改为 int32_t、uint32_t、uint64_t 等等。
将它们全部更改为上述内容有什么好处吗?假设我将所有 int 更改为 int32_t,将所有 unsigned int 更改为 uint32_t,当然还有其他所有可能更改的内容。
我试图阅读和理解是否有任何好处,但我根本没有理解它们的真正含义。所以是的,问题是:按照我刚才所说的做有什么好处吗?
我使用的编译器是Orwell Dev-C++
【问题讨论】:
-
int32_t具有指定的大小和范围。int和long含糊不清。只指定了最小值,并且它们的大小是特定于实现的。 -
它有利于可移植性和一般的健壮性,但如果您只是构建和定位代码已经工作的特定配置,则可能没有太大区别。
-
服务器在 Windows 7 64 位系统上运行。因此,使其适用于多个平台并不重要。我只是希望以某种方式提高游戏和网络的性能等等。
-
这不太可能产生任何性能差异,因为您可能只是为相同大小的类型使用不同的名称。当您的代码在
long大小不同的 Windows 和 Linux 上编译并且您正在将它们读/写到二进制数据时,它确实会产生很大的不同。 -
询问做出改变的人为什么这样做