Rational Developer for System z
PL/I for Windows, Version 8.0, プログラミング・ガイド

ステップ 1: Java プログラムの作成

ネイティブ・メソッドの宣言

Java メソッドであるかネイティブ・メソッドであるかに関係なく、メソッドはすべて Java クラス内で宣言する必要があります。Java メソッドとネイティブ・メソッドの宣言の違いは、キーワード native だけです。native キーワードは、このメソッドのインプリメンテーション のある場所が、プログラムの実行時にロードされるネイティブ・ライブラリー内 であることを Java に指示します。この例のネイティブ・メソッドの宣言は、次のとおりです。

public native void callToPLI();

上記のステートメントの中で、void はこのネイティブ・メソッド呼び出し から予期される戻り値がないことを示しています。メソッド名 callToPLI( ) の空括弧は、ネイティブ・メソッドの呼び出し時に渡すパラメーターがないことを 示しています。

ネイティブ・ライブラリーのロード

ネイティブ・ライブラリーが実行時にロードされるように、ネイティブ・ライブラリーをロードするステップを組み込む必要があります。ネイティブ・ライブラリーをロードする Java ステートメントは、次のとおりです。

 static {
   System.loadLibrary("hiFromPLI");
 }

上記のステートメントでは、ダイナミック・リンク・ライブラリー (DLL) を検索してロードする ために、Java システム・メソッド System.loadLibrary(...) が呼び出されています。 PL/I ダイナミック・リンク・ライブラリー hiFromPLI.dll が、PL/I プログラム をコンパイルし、リンクするステップの間に作成されます。

Java main メソッドの作成

callingPLI クラスには、クラスのインスタンスを生成して ネイティブ・メソッドを呼び出す main メソッドも含まれ ています。main メソッドは callingPLI のインスタンスを生成し、callToPLI() ネイティブ・メソッドを呼び出します。

このセクションで前述した点をすべて含む callingPLI クラスの 完全な定義は、次のとおりです。

 public class callingPLI {
   public native void callToPLI();
   static {
      System.loadLibrary("hiFromPLI");
   }
   public static void main(String[] argv) {
      callingPLI callPLI = new callingPLI();
      callPLI.callToPLI();
      System.out.println("And Hello from Java, too!");
   }
 }

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)