# SDK_*ASSERT*

## 構文

  `#include <nitro/misc.h>`
  `SDK_ASSERT(exp);`
  `SDK_ASSERTMSG(exp, fmt, ...);`
  `SDK_NULL_ASSERT(exp);`
  `SDK_MINMAX_ASSERT(exp, min, max);`
  `SDK_MIN_ASSERT(exp, min);`
  `SDK_MAX_ASSERT(exp, max);`
  `SDK_ALIGN4_ASSERT(exp);`
  `SDK_ALIGN2_ASSERT(exp);`

## 引数

exp | 条件パラメータ
fmt | 表示文字列(フォーマット文字列)
min | 条件を範囲で判定する際の最小値
max | 条件を範囲で判定する際の最大値

## 返り値

なし。

## 説明

本マクロは、条件を検査し、条件が満たされない場合は文字列を出力します。
その後、アプリケーションの動作を強制終了します。
SDK_ASSERTMSGでは、フォーマット文字列 fmt に従って、可変個の引数を与えることが可能です。

各マクロ関数は、以下の場合にアサートメッセージを表示します。
・`SDK_ASSERT( exp )` は、評価式exp の値が偽であるとき(expが成立しないとき)
・`SDK_ASSERTMSG( exp, fmt, ... )` は、評価式expの値が偽であるとき(expが成立しないとき)
・`SDK_NULL_ASSERT( exp )` は、評価式がexpの値が NULL に等しくないとき
・`SDK_MINMAX_ASSERT( exp, min, max )` は、評価式expの値が min以上max以下でないとき
・`SDK_MIN_ASSERT( exp, min )` は、評価式exp の値が min 以上でないとき
・`SDK_MAX_ASSERT( exp, max )` は、評価式exp の値が max 以下でないとき
・`SDK_ALIGN4_ASSERT( exp )` は、評価式exp の値が４の倍数でないとき
・`SDK_ALIGN2_ASSERT( exp )` は、評価式exp の値が2の倍数でないとき

これらのマクロ関数はデバッグ用なので、RELEASEビルドおよびFINALROMビルドでは出力動作を行ないません。

## 参照

`SDK_WARNING*
`

## 履歴

2004/09/01 RELEASE, ROMビルドで出力を行わないことを記述
2004/03/12 SDK_ALIGN4_ASSERT, SDK_ALIGN2_ASSERT追加
2004/02/27 初版