sha*_*oth 7 c++ floating-point compiler-warnings visual-c++
Visual C++可以发出C4738警告:
将32位浮点数存储在内存中,可能会导致性能下降
对于32位float
即将存储在存储器中而不是存储在寄存器中的情况.
该描述进一步说明使用double
解决问题.我不明白为什么后者是真的.
为什么存储float
在内存中会导致性能下降而存储double
不会?
该警告结合了两个问题:
使用双重解析第二个问题(至少部分地,64位仍然不如80位精确),但对可能的性能损失没有影响.这就是为什么警告描述提到了两种补救办法:
要解决此警告并避免舍入,请使用/ fp:fast编译或使用双精度而不是浮点数.
要解决此警告并避免耗尽寄存器,请更改计算顺序并修改对内联的使用
归档时间: |
|
查看次数: |
583 次 |
最近记录: |