gcc 4.4.0 で
warning: dereferencing type-punned pointer will break strict-aliasing rules
と出ていたので対応。
元のコードは
*(reinterpret_cast<float*>p)
みたいな感じでひどかったのだけど union を介してアクセスするようにした。
union {
float fvalue;
uint8_t data[sizeof(float)];
} n;
こういうの。Big Endian でテストできていないのでお時間のあるときにお願いします> id:mjt さん。