まとめ
- return 文が抜けていたにもかかわらずコンパイルエラーになってくれていなかった.
はじめに
DXライブラリを使って,
android 版のテスト中.
ファイル読み込み周りの処理周りで
「Illegal instruction」というエラーが発生.
Illegal instruction って?
通常少し異なるマシンアーキテクチャー用にコンパイルされたプログラムを実行すると発生します。
とのこと.
この情報から,ビルド構成やターゲット,
エミュレータに問題があるとみて四苦八苦した.
しかし,結果は単なるコード上のミスだった.
間違いコード
どこが間違えているかわかるだろうか?
ちなみに android (clang)ではコンパイルが通ってしまうのである.
bool ReadFile( const char* fileName, char** buffer, size_t& size )
{
size = FileRead_size( fileName );
*buffer = new char[ size ];
int handle = FileRead_open( fileName );
FileRead_read( *buffer, size, handle );
FileRead_close( handle );
}
正解は,
return ture;
が抜けているのである.
おわりに
コンパイルエラーになってくれよ...