スポンサードリンク
HOME > C言語 > assert

C言語 - assert

assert は、デバッグ時に大いに役立つ関数です。

assert関数の引数には、式を渡します。

その式を評価し、真なら何もしませんが、

偽の場合は、メッセージボックスで情報を出力し、プログラムを終了させます。

情報には、ファイル名、ファイルの行番号が記載されます。

assertコードを無効にしたい時は、#define 定数の NDEBUG を定義します。

NDEBUG を定義する位置は、#include <assert.h>より前でなくてはなりません。

NDEBUG を定義すると、assert関数コードが無効化されるので、

デバッグコードを残しながら、完成版アプリケーションを作成する事ができます。

#include <stdio.h>
// NDEBUGを定義する場合は、ここより前
#include <assert.h>

void main(void) {
   int a=10, b=5, g=0;

   g = a + b;

   assert(g==15);

   printf("%d\n", g);

}

この例では、「g が15であるはずだ」と言う式をassert関数に渡します。

多分15なので、プログラムはそのままgを表示して終了します。

この時、何らかの影響により、gが15ではなくなったら、

エラーメッセージが表示され、プログラムが即終了します。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved