#ifndef INFINITY
#ifdef _MSC_VER
union MSVC_EVIL_FLOAT_HACK
{
unsigned __int8 Bytes[4];
float Value;
};
static union MSVC_EVIL_FLOAT_HACK INFINITY_HACK = {{0x00, 0x00, 0x80, 0x7F}};
#define INFINITY (INFINITY_HACK.Value)
#endif
我目前入門與花栗鼠物理引擎,發現這頭文件這段代碼做了什麼?
INFINITY用於設置無限動能的對象,但我不明白上面這段代碼!
此外,它是以相反的順序聲明{0x00,0x00,0x80,0x7F},因爲x86使用little-endian。 – jfs 2010-11-04 10:35:34
在你的答案中是「+/- INF」嗎?因爲我很確定位模式只是'+ Inf' :-) – paxdiablo 2010-11-04 10:37:30
沒關係,我會自己修復它。我不能忍受有這麼多票的錯誤答案:-) – paxdiablo 2010-11-04 10:59:41