JVM_LOAD_NATIVE (非推奨)

ネイティブ共有ライブラリを JVM ランタイムにロードします。共有ライブラリをロードしたら、CALL 文を使用してそのエントリ ポイントの 1 つを JVM COBOL プログラムから呼び出します。
注: JVM_LOAD_NATIVE ライブラリ ルーチンは非推奨です。下位互換性のみを目的として提供されています。プロシージャ ポイント構文を使用してネイティブ共有ライブラリをロードすることをお奨めします。これにより、このルーチンを使用してロードする必要がなくなります。

構文:

call "JVM_LOAD_NATIVE" using by reference myLibrary

パラメーター:

myLibrary
pic x(n).

入力パラメーター:

myLibrary
ネイティブ共有ライブラリのファイル拡張子なしの名前 (大半のプラットフォーム上で .dll または .so)。

出力パラメーター:

なし。

例:

次のプログラムのペアには、JVM COBOL とネイティブ COBOL 間の相互運用に使用されるグループ項目が示されています。

ネイティブ COBOL:

    program-id. NativeProgram as "NativeProgram".
    linkage section.
    01 pets.
       03 p1 pic xxx.
       03 p2 pic xxx.
       03 result pic x(6).
    procedure division.
       goback.
       entry "SwapStrings" using pets.
          display "p1='" p1 "' p2='" p2 "'"
          move p1 to result(4:3)
          move p2 to result(1:3)
          goback.
    end program NativeProgram.  

JVM COBOL:

    program-id. JVMProgram as "JVMProgram".
    01 pets.
        03 dog pic xxx value "dog".
        03 cat pic xxx value "cat".
        03 result pic x(6).
    01 nat-ptr procedure-pointer.
    procedure division.
       set nat-ptr to entry “NativeProgram"
        display ""           
        display "Calling native program"
        display "======================="
        display "Pass in 2 strings: '" dog "' & '" cat "'"
        perform reset-all
       call "SwapStrings" using pets
        display "Native program swaps strings"
        display "result = '" result "'"
        display "" 
        goback.
    reset-all section.
        move spaces to result
        .   
    end program. 

説明:

myLibrary パラメーターをリテラルとして渡す必要があります。このパラメーターを COBOL 記憶域セクションで宣言することはできません。

JVM COBOL エントリ ポイントと同じ名前のネイティブ エントリ ポイントを呼び出すことはできません。

エントリ ポイントの名前が同じ 2 つのネイティブ ライブラリを、ロードすることはできません。