我注意到在C和C中,我们可以使用int64_t,或者只是很长.
如果我使用这些类型编译32位代码,我会在64位和/或32位机器上遇到任何性能问题吗?
除了节省一些RAM,我还有理由只使用int吗?
毕竟,64位整数在存储大数字时更有用.
解决方法
If I compile 32bit code using these types,will I suffer any performance issues on 64bit and/or 32bit machines?
您的编译器可能需要生成多个机器代码指令以对64位值执行操作,从而使这些操作减慢几次.如果这可能是一个问题,您需要进行一些基准测试,以评估使用实际数据对特定程序的影响.在32位或64位计算机上执行32位可执行文件时,存在该问题.
would I ever have a reason to just use
int
?
除了性能和内存使用之外,偶尔也有理由使用int,因为您使用的其他API /流等使用int.如果它显然足够的话,使用int也有微妙的文件价值,否则其他程序员可能会浪费时间,想知道为什么你已经不再使用了很长时间.
After all,64bit ints are far more useful in storing large numbers.
存储非常大的数字更有用 – 当然 – 但这是相对很少需要的.如果你存储的东西像一年或某个人的年龄,那么64位就没有特别的意义了.