こんにちは。
Win2000、VC++6.0使用。
今までC言語でプログラムを組んではいましたが、
#define _DEBUG
#ifdef _DEBUG
print(...);
#endif
というようにデバッグ用のコードを入れたことはありませんでした。
このような便利なものがあると知り、早速使ってみたのですが、
#define _DEBUG
の一文をコメントアウトして、再コンパイル(リビルド)
して実行してみたのですが、
普通に
#ifdef _DEBUG
#endif
で囲まれた部分が実行されてしまいます。
#define _DEBUG
を宣言しなければ、実行されないと思っていたのですが
自分の勘違いでしょうか?
よくわかりません。
どなたかご存知の方、よろしくお願いします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
自分も同じことをして悩んでたのですが、なんとなくわかったので書いておきます。
http://www.mnc.co.jp/intime/user/intimedev.php?I …
↑環境が異なるのでビンゴではないですが、
何かのコンパイラオプションが「_DEBUG」を暗黙に追加宣言してしまうようです。
「_DEBUG」以外でデバッグの切り分けをした方がいいみたいですね。
No.5
- 回答日時:
> 早速設定を見てみましたが、確かに
> プリプロセッサの定義に_DEBUGというのがありました。
この際、左側のツリーで対象のソースファイルを選択しているか、確認してみてください。
ソースファイル全体(フォルダのアイコン)に対する変更だけでは反映されなかった気もします。
プロジェクトの設定の考え方は、makefileとか、コンパイル、リンクに関する知識とかがないと、わかりにくいかも。
No.3
- 回答日時:
#は、プリプロセッサ命令で
コメントは、言語の部分ですから、
コメントアウトできていないのじゃないでしょうか
一度、その行を削除してみるか
#define _DEBUG
の後で
#undef _DEBUG
を加えるとかやってみてはどうでしょう?
No.1
- 回答日時:
[プロジェクト]-[設定]
「プロジェクトの設定」ダイアログ
「C/C++」タブ
カテゴリ:全般
の、
プリプロセッサの定義:
の中に「_DEBUG」が定義されていないか、確認してください。
ここに_DEBUGが定義されている場合、コンパイルする時に#defineされているものとして扱われます。
--
通常、デバッグでないリリースモードでのコンパイルを行う場合、
[ビルド]-[アクティブな構成の変更]
「プロジェクトの標準構成」ダイアログ
で、
○○ - Win32 Release
を選択します。
(または、[ビルド]ツールバーで切り替え可能。)
作成したプログラムの配布、数値計算を伴う実験の実施などはこちらのReleaseモードで作成した、小さくて速くてデバッグ用のライブラリを必要としないexeを利用します。
早速のご返答ありがとうございます。
早速設定を見てみましたが、確かに
プリプロセッサの定義に_DEBUGというのがありました。
しかしながら、削除→リビルド→実行してみましたが
状況は変わりませんでした。
リリースモード用に再コンパイルして、実行してみましたが、
これまた同じように実行されてしまいます。
なんか、古い実行ファイルが残っているような
気がしないでもないのですが。。。
どれを消していいのかよくわかりませんでした。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#の2つの実行ファイルとアプリアイコンの変更について 1 2023/01/07 16:57
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- オープンソース Flaskでサーバー立ち上げに関して 1 2023/08/12 21:02
- CPU・メモリ・マザーボード BIOS画面で固まる(メーカーロゴの画面) 4 2022/08/03 17:41
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- その他(プログラミング・Web制作) プログラムが書けません。 6 2023/01/22 22:58
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DLL参照時に指定されたモジュー...
-
ブレークポイントは現在の設定...
-
VC6 でのデバッグ時にブレーク...
-
visual studio 2008 のデバッグ...
-
VC6.0のデバッグで1つ以上のブ...
-
SQLserverからのデータ取得
-
VC++6の「プロセスへアタッチ」...
-
VBでブックマークを保存する方...
-
VBGファイルって?
-
ソリューションって何ですか
-
eclipseでデバックするとエラー...
-
VB6 ClassにてEnum(列挙型)の...
-
VC++でDeugモードOKで、Release...
-
ビルド時のエラー(書き込みで...
-
Eclipseのデバッグ時にブレーク...
-
vbpが開けない!!
-
プログラムへの画像埋め込み(?
-
C# リソースに埋め込んだ.exeフ...
-
python エラー
-
エクセルのエラーメッセージ「4...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
デバッグとビルドは何が違うの...
-
eclipseでプログラムが実行でき...
-
visual studio2019でデバッグが...
-
eclipseでデバックするとエラー...
-
デバッガでステップ実行してい...
-
Visual studio2017で、2回目の...
-
C言語での開発でエラーが出て困...
-
DLL参照時に指定されたモジュー...
-
Eclipseのブレークポイントが○...
-
VB.netを実行するとデバック プ...
-
visual studio 2008 のデバッグ...
-
ソリューションをまたがるデバ...
-
Visual Studio 2017 ビルドする...
-
Release版のexeが動きません
-
Visual C#で、usingが出来ない...
-
vb ver6 でformat文やTrim文の...
-
ブレークポイントは現在の設定...
-
VB6.0を使用しています
-
visual studio 2019 についての...
-
Visual Studio 2008 SP1について
おすすめ情報