|
||
解説: assert マクロは、ANSI C の標準仕様に含まれているマクロです。 プログラミング中にアサーションを記述することで、効果的にバグを発見して、修正できます。実行時はコメント行にできるので、保守も容易です。 簡単な論理エラーを発見する道具として、役立ててください。 使用例: 以下の例では、Edit に適当な数字を入力してエラーを出させています。 コンポーネントは、 Edit と Button を適当に置いてください。 コーディングでは、まず Edit に入力された数字を数値に変換しています。次にその数値を 5 倍して、元の数値と等しいかどうか調べています。 エラーは次のように表示されます。 Assertion failed: test, file filename, line linenum メッセージ内の filename と linenum は assert マクロが存在するソースファイル名と行番号を表します。 #define NDEBUG // この行があると実行時 assert はコメント行になります #include <assert.h> // 追加 //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { // 適当な数字を代入 int i = StrToInt(Edit1->Text); // カッコの条件を満たさなければエラーを出力する assert(i == i * 5); // i = 0 なら正常 //異常終了する } //------------------------------------------------------------------- |