模組物件 (module object)
模組物件 是一個 不可執行的 物件,它是 ILE 編譯器的輸出。 模組物件以符號 *MODULE 向系統表示。 模組物件是建立可執行 ILE 物件的基本建置區塊。 這是 ILE 與 OPM 之間的顯著差異。 OPM 編譯器的輸出是 可執行 程式。
模組物件可以由一或多個程序及資料項目規格組成。 可以從另一個 ILE 物件直接存取某個模組中的程序或資料項目。 請參閱 ILE HLL 程式設計師手冊,以取得可由其他 ILE 物件直接存取之程序及資料項目的編碼詳細資料。
ILE RPG、 ILE COBOL、 ILE C及 ILE C++ 都具有下列一般概念:
- 匯出
匯出 是在模組物件中編碼的程序或資料項目名稱,可供其他 ILE 物件使用。 匯出是由其名稱及其關聯類型 (程序或資料) 來識別。
匯出也可以稱為 定義。
- 匯入
匯入 是指使用或參照現行模組物件中未定義的程序或資料項目名稱。 匯入由其名稱及其關聯類型 (程序或資料) 來識別。
匯入也可以稱為 參照。
模組物件是 ILE 可執行物件的基本建置區塊。 因此,當建立模組物件時,也會產生下列項目:
- 除錯資料
除錯資料 是除錯執行中 ILE 物件所需的資料。 此資料是選用的。
- 程式登錄程序 (PEP)
程式進入程序 是編譯器產生的程式碼,它是 ILE 程式在動態程式呼叫上的進入點。 它類似於為 OPM 程式中的進入點提供的程式碼。
- 使用者登錄程序 (UEP)
由程式設計師撰寫的 使用者輸入程序 是動態程式呼叫的目標。 它是從 PEP 取得控制的程序。 C 程式的 main () 函數會變成 ILE 中該程式的 UEP。
圖 1 顯示模組物件的概念性視圖。 在此範例中,模組物件 M1 會匯出兩個程序 (Draw_Line 和 Draw_Arc) 及一個資料項目 (rtn_code)。 模組物件 M1 會匯入稱為 Draw_Plot 的程序。 此特定模組物件具有 PEP、對應的 UEP (程序 Draw_Arc) 及除錯資料。

*MODULE 物件的性質:
- *MODULE 物件是 ILE 編譯器的輸出。
- 它是 ILE 可執行物件的基本建置區塊。
- 它不是可執行的物件。
- 它可能已定義 PEP。
- 如果已定義 PEP ,則也會定義 UEP。
- 它可以匯出程序和資料項目名稱。
- 它可以匯入程序和資料項目名稱。
- 它可以定義除錯資料。