# NitroStartUp

## 構文

      void NitroStartUp( void );

## 引数

なし

## 返り値

なし。

## 説明

本関数は C++ を使用される方を対象に用意されたものです。

C++ におけるスタティックコンストラクタ呼び出しの前に行ないたい処理を記述します。デフォルト実装では何も処理をしません。弱いシンボルを持つ関数 として コンパイルされており、アプリケーション内で新規に `NitroStartUp()` を定義した場合、新規関数が優先してリンクされます。

Nitro ランタイムバイナリのスタートアップ処理は大まかに以下の様になります。

1. スタック初期化
2. BSS領域のクリア
3. 浮動小数点ライブラリ初期化
4. `NitroStartUp()` 呼び出し
5. スタティックコンストラクタ（スタティックイニシャライザ）実行
6. `NitroMain` エントリのコール

`NitroStartUp()` は上記のようにスタティックコンストラクタの前に呼び出されます。NITRO のアプリケーションを作成される方は、スタティックコンストラクタ実行前に行ないたい初期化処理を `NitroStartUp()` に記述することができます。

スタティックコンストラクタは `NitroMain()` 呼び出し前に実行されますので、スタティックコンストラクタ内部で動的メモリ確保を行なう場合はヒープメモリ管理モジュールの初期化 ( new / delete ) などを `NitroStartUp()` 内 で行なっておく必要があります。

## 参照

`NitroStaticInit`

## 履歴

2004/02/27 初版