2014年5月11日日曜日

Emscripten-1.16.0, C++: reinterpret_cast を std::string::data() から行った場合の挙動にバグあり?

Emscripten-1.16.0 で std::string に入った事実上の char 配列から reinterpret_cast で他の型に再解釈する際にもしかしたらバグがあるかも。

code & results:

Emscripten-nodejsの結果の終わりから2行目のところ、予想外のfloat値が得られています。

メモリーとそのアドレス配置的にもその内容的にも問題無い様に見える char バイト列、 db 0f 49 40 から、なぜか float 値 3.14159f への reinterpret_cast 再解釈が予期しない値 589233 となってしまっています。

はて??

差し当たり、 Emscripten の Issues にポストしてみました。

0 件のコメント:

コメントを投稿