コンパイルオプションについて – プログラミング – Home

コンパイルオプションについて
 
通知
すべてクリア

コンパイルオプションについて


Keiko
 Keiko
(@Keiko)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

はじめまして、現在グラフ表示プログラムを作成しているのですが、
以下のような現象が出てしまいコンパイルオプションを変更したら直りました。
これって本当の解決になっているのでしょうか?

Win2000上では、エラーにならないのですが、Win98である動作を
させると、「0x~の命令が0xのメモリを参照しましたが・・・」エラーが
出てしまいます。
Win98上でDebug動作させた場合には、エラーが発生しません。

コンパイルオプションの最適化を「デフォルト」⇒「実行速度」に
変更したら、エラーが出なくなりました。
これってどうしてなのでしょうか?
コンパイルオプションの最適化「デフォルト」と「実行速度」の違いを
教えてください。

漠然とした質問ですみません。


引用解決済
トピックタグ
クラフトマン
 クラフトマン
(@クラフトマン)
ゲスト
結合: 24年前
投稿: 72
 

>コンパイルオプションの最適化を「デフォルト」⇒「実行速度」に
>変更したら、エラーが出なくなりました。

をを?? 逆じゃなくて?
大雑把に言うと、「デフォルト」というのは、ほとんど最適化をしなくて、
「実行速度」というのは、いろいろな最適化を行います。
つまり、「デフォルト」⇒「実行速度」とすると、最適化項目を追加する
ことになります。
だから、「実行速度」では動くけど、「デフォルト」では動かないという
のであれば、最適化の問題ではなくて、プログラムのバグである可能性が
高いですね。
(「デフォルト」では動くけど、「実行速度」では動かないというのであ
れば、最適化の副作用ということも考えられますが)

因みに、「デフォルト」と「実行速度」の違いは、最適化スイッチ/O2が付
くか(「実行速度」)、付かないか(「デフォルト」)だけです。
/O2をつけると、ループ最適化、自動レジスタ割り当て、インライン展開、
同一内容文字列の統合等を行います。
詳細は、MSDNで「最適化スイッチ」を調べてください。


返信引用
Keiko
 Keiko
(@Keiko)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

クラフトマンさんありがとうございました。

早速プログラムの見直しと「最適化スイッチ」を
調べてみます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました