6.1.3 マルチスレッドに対応したCOBOLプログラムの作成
マルチスレッド対応COBOLプログラムをコンパイルする場合は,-MultiThreadオプションを指定します。
指定するライブラリ
- (AIX(32)の場合)
-
COBOL2002スレッド関数インターフェースライブラリ「-lcbl2kmp」,スレッド関数ライブラリ「-lpthreads」,およびスレッド対応システムライブラリ「-lC_r」
- (AIX(64)の場合)
-
COBOL2002スレッド関数インターフェースライブラリ「-lcbl2kmp64」,スレッド関数ライブラリ「-lpthreads」,およびスレッド対応システムライブラリ「-lC_r」
- (Linuxの場合)
-
COBOL2002スレッド関数インターフェースライブラリ「-lcbl2kmp」,およびスレッド関数ライブラリ「-lpthread」
実行可能プログラムの作成方法
- (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ドキュメントのバッファへは,出力できません。
-