模組物件 (module object)

模組物件 是一個 不可執行的 物件,它是 ILE 編譯器的輸出。 模組物件以符號 *MODULE 向系統表示。 模組物件是建立可執行 ILE 物件的基本建置區塊。 這是 ILE 與 OPM 之間的顯著差異。 OPM 編譯器的輸出是 可執行 程式。

模組物件可以由一或多個程序及資料項目規格組成。 可以從另一個 ILE 物件直接存取某個模組中的程序或資料項目。 請參閱 ILE HLL 程式設計師手冊,以取得可由其他 ILE 物件直接存取之程序及資料項目的編碼詳細資料。

ILE RPGILE COBOLILE 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) 及除錯資料。

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