# OS_TPanic

## 構文

  `#include <nitro/os.h>`
  `void OS_TPanic( const char *fmt, ... );`

## 引数

fmt | 出力書式文字列(フォーマット文字列)
... | 可変個引数

## 返り値

なし。

## 説明

文字列を出力してプログラムを停止します。

関数内部で `OS_VSNPrintf()`を呼び出しているため、使用可能なフォーマット文字列(出力書式文字列)は `OS_Panic()` よりも限定されたものになりますが、コード量やスタック消費量を節約することができます。

文字列の出力は

<filename>:<linenumber> Panic: <string>

の形式で行われます。<filename> <linenumber> はこの `OS_TPanic()` 関数を記述したファイル名と行番号となります。fmt と可変個引数で作られる文字列が、<string> となります。

これはデバッグ用の関数ですので、最終ROM版(FINALROM)ライブラリでは何もしないでただ停止する関数(`OS_Terminate()` と同等)となります。

## 内部動作

`OS_TPanic()` は、実際は `OSi_TPanic()` の #define となっています。`OSi_TPanic()` は weak シンボルでコンパイルされていますので、ユーザが独自に関数を定義すれば、それで上書きされます。

## 参照

`OS_TWarning, OS_Terminate`

## 履歴

2004/11/25 weak シンボルの記述を追加
2004/09/10 初版