下表に、生成コードでの静的メモリー割り当てのための設定用プロパティーを示します。これらのプロパティーを個々のインスタンスよりも上のレベルで設定すると、すべてのインスタンスにデフォルトが設定されます。例えば、クラス・プロパティーをコンポーネント・レベルに設定すると、すべてのクラス・インスタンスがデフォルトに設定されます。実際のインスタンス数が最大値として宣言された値を超えた場合の振る舞いは未定義です。
| プロパティー | サブジェクトとメタクラス | 説明 |
|---|---|---|
| BaseNumberOfInstances | <lang>_CG::Class CG::Event |
次のいずれかに対して割り当てられるローカル・ヒープ・メモリー・プールのサイズを指定する。
このプロパティーは、実行時にメモリー管理機能のない、リアルタイムで安全性が重要視される厳しいシステムにある静的アーキテクチャーをサポートします。 イベントのすべてのインスタンスの割り当ては初期化時に動的に行われます。 一度割り振られると、スレッドのイベント・キューのサイズは固定的になります。 トリガーされた操作は、イベントに定義されたプロパティーを使用します。 メモリー・プールが枯渇すると、AdditionalNumberOf クラスのメモリー・プールは、フラットなステートチャート実装スキームの場合のみ使用できます。 |
| AdditionalNumberOfInstances | <lang>_CG::Class CG::Event |
カレント・プールが空のとき、メモリーが割り当てられるインスタンスまたはイベントの数を指定する。 |
| ProtectStaticMemoryPool | CG::Class/Event | オペレーティング・システム・ミューテックスを使用してスレッド・セーフティーを提供することで、割り当てられたメモリー・プールのアクセスを保護するかどうかを指定する。 |
| MaximumPendingEvents | CG::Class | アクティブ・クラスのイベント・キューに、同時に待機できる最大イベント数を指定する。 |
「フィーチャー」ウィンドウの該当する「プロパティー」タブにある各プロパティーの定義を参照してください。
イベントが割り込みハンドラーで生成される状態では、オペレーティング・システム・ミューテックスを使用してはいけません。 ProtectStaticMemoryPool プロパティーの値を Cleared に設定して、ミューテックスが使用されないようにしてください。 メモリー・プールがスレッド・セーフではないことを確認するのはユーザーの責任です。この制約は、アニメーション・フレームワークには適用されません。
フレームワーク・ファイルには、動的および静的割り当ての到達可能コードがあります。実際の使用は、生成されたコードを基にしています。GEN および gen マクロの使用は、両方のモードで同じです。
<lang>_CG:Relation::ImplementWithStaticArray プロパティーを使用して、静的配列を持つ制限された固定関係を実装する場合、初期設定とは別に暗黙的に静的割り振りを利用します。