1
我正在通過一些代碼的端口(從Windows到Linux),主要是嘗試瞭解更多關於在Linux上使用C++編程的內容。linux浮點_control87替換
我遇到含有這樣的功能:
_clear87();
_control87(_PC_24, MCW_PC);
_control87(_RC_CHOP, MCW_RC);
_24 = getFPUsw(); // 24, chop
_control87(_RC_NEAR, MCW_RC);
_24r = getFPUsw(); // 24, rounding
_control87(_PC_53, MCW_PC);
_control87(_RC_CHOP, MCW_RC);
_53 = getFPUsw(); // 53, chop
_control87(_RC_NEAR, MCW_RC);
_53r = getFPUsw(); // 53, rounding
_control87(_PC_64, MCW_PC);
_control87(_RC_CHOP, MCW_RC);
_64 = getFPUsw(); // 64, chop
_control87(_RC_NEAR, MCW_RC);
_64r = getFPUsw(); // 64, rounding
從我可以告訴。 _control87和_clear87僅適用於Windows,並且用於更改浮點計算等的FPU模式。在<float.h>
定義在Windows Linux上的等效似乎沿着職能的線是#include <cfenv>
我不確定什麼的這些_control87功能等效的是,我希望有人能指出我正確的方向。
我的記憶是模糊的,但我認爲你想看看[fpu_control.h頭文件(HTTP:// www.gnu.org/software/gnulib/manual/html_node/fpu_005fcontrol_002eh.html)來操縱x87 FPU控制字的精確控制位。 – njuffa 2015-03-25 14:56:40
謝謝。這看起來更像我所需要的。 – Tim 2015-03-25 23:32:31