08/05/02 02:27:06
sqstd_dofileは内部でsqstd_loadfileを呼び出していたため、sqstd_loadfileの中を見てみました。
sqstd_loadfileの中には外部から読み込んだファイルがバイナリであるかテキストであるかを判定する文があり、
バイナリの場合はコンパイルせずにそのままsq_readclosureによってスタックに読み込んでいることが分かりました。
そこで、sqstd_loadfile冒頭のsqstd_fopen(fopenと同じ働き)を削除し、loadfileの引数のファイル名の変わりに(FILE*)型のポインタを
渡してやるようにし、また、(テキストファイルは扱わないため)テキストであった場合の分岐を削除してみました。
これは成功すると思ったのですが(おそらく)こちらのコーディングミスでメモリ関係のエラーが出てしまいました。
こちらを直して正常に動作するようならまた報告したいと思います。
>>99
スタックトップに積むようなので、sq_move(dest, src, -1)といったように設定してやればいいんですかね? 試してみます。
ただ今回の件でSquirrelのスタック周りの操作についてほぼ無知であることが分かったため、もう少し勉強してからトライすることになると思います。