COBOL2002 XML連携機能ガイド

[目次][用語][索引][前へ][次へ]

6.1.3 マルチスレッドに対応したCOBOLプログラムの作成

マルチスレッド対応COBOLプログラムをコンパイルする場合は,-MultiThreadオプションを指定します。

指定するライブラリ

(HP-UX(IPF)およびHP-UX(IPF64)の場合)
COBOL2002スレッド関数インターフェースライブラリ「-lcbl2kkn」,およびスレッド関数ライブラリ「-lpthread」

(AIX(32)の場合)
COBOL2002スレッド関数インターフェースライブラリ「-lcbl2kmp」,スレッド関数ライブラリ「-lpthreads」,およびスレッド対応システムライブラリ「-lC_r」

(AIX(64)の場合)
COBOL2002スレッド関数インターフェースライブラリ「-lcbl2kmp64」,スレッド関数ライブラリ「-lpthreads」,およびスレッド対応システムライブラリ「-lC_r」

(Linux(x86),Linux(x64)の場合)
COBOL2002スレッド関数インターフェースライブラリ「-lcbl2kmp」,およびスレッド関数ライブラリ「-lpthread」

実行可能プログラムの作成方法

(HP-UX(IPF)の場合)
ccbl2002 -Compile,NoLink -MultiThread subprog.cbl
aCC -Wl,-B,immediate -AP -o mainprog mainprog.o subprog.o
    -L/opt/HILNGcbl2k/lib -lcblxmlrt -lcbl2k -lcbl2kml -lcbl2kkn
    -lpthread -lm

(HP-UX(IPF64)の場合)
ccbl2002 -Compile,NoLink -MultiThread subprog.cbl
aCC -Wl,-B,immediate +DD64 -AA -o mainprog mainprog.o subprog.o
    -L/opt/HILNGcbl2k64/lib -lcblxmlrt -lcbl2k -lcbl2kml
    -lcbl2kkn -lpthread -lm

(AIX(32)の場合)
ccbl2002 -Compile,NoLink -MultiThread subprog.cbl
xlC_r -o mainprog mainprog.o subprog.o
    -L/opt/HILNGcbl2k/lib -L/opt/HILNGcbl2k/lib/cblxml
    -lcblxmlrt -lcbl2k -lcbl2kml -lcbl2kmp -lpthreads -lC_r -lm

(AIX(64)の場合)
ccbl2002 -Compile,NoLink -MultiThread subprog.cbl
xlC_r -q64 -o mainprog mainprog.o subprog.o
    -L/opt/HILNGcbl2k64/lib -L/opt/HILNGcbl2k64/lib/cblxml
    -lcblxmlrt64 -lcbl2k64 -lcbl2kml64 -lcbl2kmp64 -lpthreads -lC_r
    -lm

(Linux(x86)の場合)
ccbl2002 -Compile,NoLink -MultiThread -UniObjGen subprog.cbl
g++ -o mainprog mainprog.o subprog.o
    -L/opt/HILNGcbl2k/lib
    -lcblxmlrt -lcbl2k -lcbl2kml -lcbl2kmp -lpthread -lm

(Linux(x86)の場合(x64向けLinux環境))
ccbl2002 -Compile,NoLink -MultiThread -UniObjGen subprog.cbl
g++ -m32 -o mainprog mainprog.o subprog.o
    -L/opt/HILNGcbl2k/lib
    -lcblxmlrt -lcbl2k -lcbl2kml -lcbl2kmp -lpthread -lm

(Linux(x64)の場合)
ccbl2002 -Compile,NoLink -MultiThread -UniObjGen subprog.cbl
g++ -o mainprog mainprog.o subprog.o
    -L/opt/HILNGcbl2k64/lib
    -lcblxmlrt -lcbl2k -lcbl2kml -lcbl2kmp -lpthread -lm

注意事項
  • XMLドキュメントの出力では排他制御しません。そのため,マルチスレッドでの動作時に,複数のスレッドから同じXMLドキュメントのファイルや同じXMLドキュメントのバッファへは,出力できません。