2012年8月30日木曜日

コンパイルオプション

CTC さんの変換ソフトが使えず、ここの所ずーっと悩んでました。というか、今もまだすっきりしていません。
 
公開されているDtransuのコードを改編して使用していますが、今回問題のバイナリ書き出し部分は触っていません。第一、公開されている付属コードで問題なくバイナリを読めるのです。

かなり悩んで色々試しましたが、全くダメ。
改編前のソースをコンパイルし、それでできたバイナリを変換してみました。が、これでもダメでした。バイナリエディタで中身を見ましたが、改変コードで作成したものと全く同じ内容です。 しかし、変換できないのです。

この結果をメールで送りましたが、CTC さんは「公開されているソースで作ったバイナリは読める」と言われるだけでした。ま、理由が分からなければ、そう言われるでしょうね。


しかし、この回答で原因を絞ることができました。
消去法で、残るはコンパイルオプションしかありません。基本的にはCTCさんと同じオプションを選択しておけば読めるはずです。しかも、書き出し時の型と、CTC さんに教えてもらった変換ソフト側の読み込み時の型の比較より、並び出力や型に関連しているはず。

と、アタリを付けてオプションを調整しコンパイルすると、一発で通りました。長かった。プロが側に欲しい。

しかし、念のため確認、ということで簡単な自作コードで 検証してみると、再現できない。orz
いよいよ分かりませんが、ま、目的は達しているので良しとしておきましょう。スッキリしませんが。

 
以前もGa3dでコンパイラーのセッティングに悩んだ事があります。
http://phreeqc.blogspot.jp/2011/10/blog-post_02.html 
こういった情報、私には結構重要なんですよね。プロなら常識かもしれませんが。
うーん。FORTRAN77以降を熟知している プロが側に欲しい。




0 件のコメント:

コメントを投稿