# ENV_Init

## 構文

      #include <nitro/env.h>

      void ENV_Init( void );

## 引数

なし

## 返り値

なし。

## 説明

リソース管理システムを初期化します。

`ENV_Init()` ではリソース配列を以下のように、 `ENVResource* resourceArray[]` 配列で指定しています。

> `SDK_WEAK_SYMBOL ENVResource *resourceArray[] = { NULL };
> void ENV_Init(void)
> {
> ：
> ENV_SetResourceSetArray( resourceArray );
> }`

`resourceArray[]` はリソース配列を持つ配列です。システムでは WEAK シンボルとして NULL メンバの配列になっていますので、アプリ側が自分でこの配列を定義すればそちらが有効になります。`resourceArray[]` はリソース配列の配列なので、必要なリソース配列を複数まとめることで一度に指定することができます。

リソース配列を記述する際には、最後に ENV_RESOURCE_END を配置するようにして下さい。

システム内では、複数の配列をリストで結合し、保持することが可能です (最大 `ENV_RESOURCE_SET_MAX` 個です)。 複数の配列を保持している場合、すべての中から検索されます。リストを操作するのは、`ENV_SetResourceSet(), ENV_AppendResourceSet(), ENV_PrependResourceSet(), ENV_InsertResourceSet()` が用いられます。

`resourceArray[]` の記述例です。

> `(例)
> ENVResource myResource1[] = {
> "res1.data1",　　ENV_U32( 300 ),
> "res1.data2",　　ENV_STRING( "abcde" ),
> "res1.data3",　　ENV_S32( -100 ),
> ENV_RESOUCE_END
> };
> ENVResource myResource2[] = {
> "res2.data1",　　ENV_U32( 500 ),
> "res2.data2",　　ENV_S32( -800 ),
> ENV_RESOUCE_END
> };
> ENVResource* resourceArray[]={ myResource1, myResource2, NULL };`

`ENV_Init()` は他の ENV 関数を呼び出す前に呼び出しておいてください。`OS_Init()` からは呼び出されません。

## 参照

`ENV_SetResourceSetArray,
ENV_SetResourceSet, ENV_AppendResourceSet, ENV_PrependResourceSet, ENV_InsertResourceSet,
ENV_Get*`

## 履歴

2008/12/19 例を追加
2005/08/29 複数の配列について記述
2005/08/16 初版