[解決済み] _DEBUG と NDEBUG の比較
2022-02-11 11:47:33
質問
コードのデバッグセクションを指定するために、どのプリプロセッサ定義を使用する必要がありますか?
使用方法
#ifdef _DEBUG
または
#ifndef NDEBUG
とか、もっといい方法があるのでしょうか。
#define MY_DEBUG
?
でしょう
_DEBUG
は Visual Studio 固有のものですか、NDEBUG は標準のものですか?
どのように解決するのですか?
Visual Studioの定義
_DEBUG
を指定すると
/MTd
または
/MDd
オプションで指定します。
NDEBUG
は標準Cのアサーションを無効にします。適切な場合には、それらを使用します。
_DEBUG
デバッグ用のコードと一貫性を持たせたい場合は
MS CRTデバッグテクニック
と
NDEBUG
と整合性を持たせたい場合は
assert()
.
デバッグ用マクロを自分で定義する場合(コンパイラやCランタイムをハックしない場合)、アンダースコアで名前を始めるのは避けてください。
関連
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み】エラー。switchステートメントでcaseラベルにジャンプする
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語とC++の両方で有効なコードを、それぞれの言語でコンパイルすると、異なる動作になることがありますか?
-
[解決済み] noexceptを本当に使うべきはいつですか?
-
[解決済み] Visual Studioでコマンドラインパラメータを使ったデバッグを行う
-
[解決済み] STL」と「C++ Standard Library」の違いは?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み】Enterキーを押して続行する
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み] 警告:暗黙の定数変換でのオーバーフロー