我們有第一次代碼審計即將到來,有人告訴我,不使用strictfp
進行浮點運算可能會使我們被標記。軟件在Windows計算機上編碼並部署到Solaris機器以供生產使用。任何關於它的建議是真實的?如果不使用strictfp,代碼在某種程度上會變得不合規?
此外,如果不使用'strictfp`可以使浮點算術代碼不符合或不可移植,爲什麼計算在非strictfp反正呢?
CERT Secure Coding Standards, NUM53-J讓我覺得這是強制使用strictfp
:
程序需要從浮點運算在不同的JVM和平臺一致的結果必須使用strictfp修飾符。
不要只是鏈接,也引用相關位。我已經猜到了你可能的意思。 –
如果您將它部署到英特爾硬件上的Windows或Solaris上,那麼無論您是否使用strictfp都沒有區別。 (但是如果你有任何機會部署到strictfp確實有所作爲的硬件上,那麼在你的代碼中使用strictfp是一個好主意)查看我的一個老問題的答案:https://stackoverflow.com/問題/ 22562510/does-java-strictfp-modifier-have-any-effect-on-modern-cpus –
當你說「不合規」時 - 不符合什麼? –