靜態記憶體配置的內容

下列表格列出部分內容,可讓您配置所產生程式碼的靜態配置。在比個別實例更高的層次設定任一這些內容,會設定所有實例的預設值。例如,在元件層次設定類別內容,會設定所有類別實例的預設值。無論如何,當實際的實例數超過宣告數上限時,則不會定義行為。

內容 主旨及 meta 類別 說明
BaseNumberOfInstances <lang>_CG::Class

CG::Event

指定針對下列任一項目所配置的本端資料堆記憶體儲存區大小:
  • 類別的實例 (<lang>_CG::Class)
  • 事件的實例 (<lang>_CG::Event)

此內容針對在強迫即時和安全關鍵系統中所找到的靜態架構提供支援,這種系統在執行時期期間沒有記憶體管理功能。所有事件實例會在起始設定期間進行動態配置。

一旦經過配置,用於執行緒的事件佇列會在大小上維持靜態。

觸發作業會使用為事件定義的內容。

耗盡記憶體儲存區時,會配置由 AdditionalNumberOf
Instances
內容所指定的額外數量。

用於類別的記憶體儲存區僅可與「非階層式」狀態圖實作架構搭配使用。

AdditionalNumberOfInstances <lang>_CG::Class

CG::Event

指定當現行儲存區為空時,記憶體所配置的事件或實例數。
ProtectStaticMemoryPool CG::Class/Event 決定是否要使用作業系統互斥旗標,來保護對所配置記憶體儲存區的存取,進而提供執行緒安全。
MaximumPendingEvents CG::Class 指定作用中類別的事件佇列中,可同步擱置的事件數目上限。

請參閱「特性」視窗的適當內容標籤上,針對每一個內容所提供的定義。

在岔斷處理程式中產生事件的狀況下,不應使用作業系統互斥旗標。將 ProtectStaticMemoryPool 內容的值設定為 Cleared,這樣才不會使用互斥旗標。由您來確認記憶體儲存區不是安全執行緒。動畫架構不適用於此限制。

架構檔案包括用於動態及靜態配置的可呼叫程式碼。實際用法要視產生的程式碼而定。對於這兩種模式而言,使用 GENgen 巨集是相同的。

透過 <lang>_CG:Relation::ImplementWithStaticArray 內容,將固定及有限的關係與靜態陣列一起實作,除了起始設定之外,都會隱含地使用靜態配置。


意見回饋