# OS_Panic

## 構文

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

## 引数

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

## 返り値

なし。

## 説明

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

文字列にはフォーマット文字列 fmt に従って、可変個の引数を与えることが可能です。

文字列の出力は

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

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

一度に表示できる文字列は 255文字までです。 256文字以上の文字列を指定した場合は 256文字目以降は無視されます。

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

## 内部動作

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

## 参照

`OS_Warning, OS_Terminate`

## 履歴

2009/10/02 表示可能な文字列長について追記
2004/11/25 weak シンボルの記述を追加
2003/12/01 初版