こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

同じソースコードなのにバイナリ出力に違いがでる。

現在H8マイコンのプログラムを行っています。

開発環境のHEWでのプログラミングやビルドなどを、自分のPCとは別のPCで行っていたのですが、自分のPCでも同じ作業ができるようにHEWをインストールしました。


自分のPCでプロジェクトをビルドして見たところ、出力されたbinファイルが、今までのPCでの出力のbinファイルにバイナリ比較するとまったく同じバイナリファイルが生成されず、違いが生じてしまうことに気付きました。



詳しい方に話してみたところ、”コンパイラのVersionがそれぞれのPCで違うのでは?”とか”最適化設定に違いがあるのでは?”との指摘をもらいました。


この”コンパイラのVersion”や”最適化設定値”はプロジェクトファイルである”.hws”ファイルで確認することは可能でしょうか?


どうぞ、ご教授いただきますようお願い致します。

投稿日時 - 2012-07-05 16:41:48

QNo.7573698

すぐに回答ほしいです

質問者が選んだベストアンサー

それぞれのコンパイラ(と、リンカなど一式)のバージョンは、
ツール → アドミニストレーション で、
「登録済みコンポーネント」の
Toolchains
の中にあります。

コマンドラインオプションは、ワークスペースを読み込んだ後、
ビルドメニュー → (一番上にある) …… Toolchainで、C source file や、Assmble sorce file を選択すると、「コンパイラオプション」や「アセンブルオプション」に表示されます。

以上は、Hew を使って確認する方法です。
これらの情報は、hws ファイルには、直接 直接書かれていません。
hws ファイルの中の、[PROJECTS]にあるプロジェクト情報を見て、そこにある、hwp ファイルを見ると、ツールチェインのバージョンがわかります。
あと、コマンドラインのパラメータは、ちょっと探せませんでした。

ただ、bin ファイルがどのファイルを指しているのはわかりませんが、最終的なヘキサファイルでなければ、ものによっては、ソースファイルや、ワークスペースのディレクトリパスも情報として含んでいますから、インストールの状況によっては、このあたりは当然変わってきます。

投稿日時 - 2012-07-05 19:47:44

お礼

回答頂きありがとうございます。

現在、いままでビルドを行っていたPCと、自分のPCにインストールされているHEWコンパイラのVersionはツール → アドミニストレーション で同一のものを使用していることがわかりました。

hwpファイルを比較ソフトのDFで確認してみたところ、新しいPCのディレクトリパスのみが更新されているだけで、他に変更がないこともわかりました。


するとhwpファイル等ではわからないtoolchainの設定に何らかの違いがあるのではないかと感じております。もう少しその辺をあたってみようと思います。

投稿日時 - 2012-07-06 14:07:11

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問