Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU - |
目次 索引 |
第5章 アプリケーションのコンパイル・リンク | > 5.2 Windows(R)を使用した場合のアプリケーションのコンパイル・リンク | > 5.2.4 複数のコンパイル単位から構成されるアプリケーションのコンパイル・リンクの方法 |
複数のコンパイル単位を静的リンクする場合のコンパイル・リンクの方法を以下に示します。
SQL文を使用するコンパイル単位は、sqlccまたはsqlcobolを使用してコンパイル・リンクを行います。
sqlccおよびsqlcobolのオプションの指定方法については、“コマンドリファレンス”を参照してください。
アプリケーションによっては、SQL文を使用しないコンパイル単位が存在する場合があります。
SQL文を使用しないコンパイル単位は、clコマンド、cobolコマンドまたはcobol32コマンドを使用してコンパイル・リンクを行います。
また、ロードモジュールを静的リンクして作成するには、副プログラムのオブジェクトファイルを作成し、主プログラムに静的にリンクする必要があります。
アプリケーションを静的リンクする場合に必要なオプションを以下に示します。
コンパイル対象の性質 |
指定するオプション |
備考 |
|
---|---|---|---|
SQL文を含むコンパイル単位 |
主プログラム |
副プログラムのオブジェクトファイル名 |
リンクする副プログラム |
-M |
COBOLの場合に指定 |
||
副プログラム |
/c |
オブジェクトファイルの作成 |
|
SQL文を含まないコンパイル単位 |
主プログラム |
副プログラムのオブジェクトファイル名 |
リンクする副プログラム |
-M |
COBOLの場合に指定 |
||
F3CWDRV.LIB |
RDBライブラリの指定(32ビットのシングルスレッドで動作するアプリケーションを静的リンクする場合に使用) |
||
F3CWDRVM.LIB |
RDBライブラリの指定(32ビットのマルチスレッドで動作するアプリケーションを静的リンクする場合に使用) |
||
F3CWDRV_IA64.LIB |
RDBライブラリの指定(64ビットのシングルスレッドで動作するアプリケーションを静的リンクする場合に使用) |
||
F3CWDRVM_IA64.LIB |
RDBライブラリの指定(64ビットのマルチスレッドで動作するアプリケーションを静的リンクする場合に使用) |
||
副プログラム |
/c |
オブジェクトファイルの作成 |
例1
SQL文を使用する主プログラム(DEMO04MAIN.SC)と、SQL文を使用する2個の副プログラム(DEMO04SUB1.SC、DEMO04SUB2.SC)を静的リンクします。ロードモジュール名は“DEMO04.EXE”とします。
cd C:\USERS\DEFAULT\APPLICATION\SRC sqlcc DEMO04SUB1.SC /c sqlcc DEMO04SUB2.SC /c sqlcc -L"/out:..\BIN\DEMO04.EXE DEMO04SUB1.OBJ DEMO04SUB2.OBJ" DEMO04MAIN.SC
例2
SQL文を使用しない主プログラム(DEMO05MAIN.C)と、SQL文を使用する副プログラム(DEMO05SUB1.SC)、およびSQL文を使用しない副プログラム(DEMO05SUB2.C)を静的リンクします。ロードモジュール名は“DEMO05.EXE”とします。
cd C:\USERS\DEFAULT\APPLICATION\SRC sqlcc DEMO05SUB1.SC /c cl /c DEMO05SUB2.C cl DEMO05MAIN.C /Fe..\BIN\DEMO05.EXE DEMO05SUB1.OBJ DEMO05SUB2.OBJ F3CWDRV.LIB
例3
64ビットで実行するアプリケーションを静的リンクする場合の例を示します。SQL文を使用しない主プログラム(DEMO08MAIN.C)と、SQL文を使用する副プログラム(DEMO08SUB1.SC)、およびSQL文を使用しない副プログラム(DEMO08SUB2.C)を静的リンクします。ロードモジュール名は“DEMO08.EXE”とします。
cd C:\USERS\DEFAULT\APPLICATION\SRC sqlcc -v9 DEMO08SUB1.SC /c cl /c DEMO08SUB2.C cl DEMO08MAIN.C /Fe..\BIN\DEMO08.EXE DEMO08SUB1.OBJ DEMO08SUB2.OBJ F3CWDRV_IA64.LIB
例1
SQL文を使用する主プログラム(DEMO06MAIN.SCOB)と、SQL文を使用する2個の副プログラム(DEMO06SUB1.SCOB、DEMO06SUB2.SCOB)を静的リンクします。ロードモジュール名は“DEMO06.EXE”とします。
cd C:\USERS\DEFAULT\APPLICATION\SRC sqlcobol DEMO06SUB1.SCOB sqlcobol DEMO06SUB2.SCOB sqlcobol -L"/out:..\BIN\DEMO06.EXE DEMO06SUB1.OBJ DEMO06SUB2.OBJ" DEMO06MAIN.SCOB -M
例2
SQL文を使用しない主プログラム(DEMO07MAIN.COBOL)と、SQL文を使用する副プログラム(DEMO07SUB1.SCOB)、およびSQL文を使用しない副プログラム(DEMO07SUB2.COBOL)を静的リンクします。ロードモジュール名は“DEMO07.EXE”とします。
cd C:\USERS\DEFAULT\APPLICATION\SRC sqlcobol DEMO07SUB1.SCOB cobol32 DEMO07SUB2.COBOL cobol32 -M DEMO07MAIN.COBOL link /out:..\BIN\DEMO07.EXE F3CWDRV.LIB DEMO07MAIN.OBJ DEMO07SUB1.OBJ DEMO07SUB2.OBJ F3BICIMP.LIB LIBC.LIB KERNEL32.LIB USER32.LIB
例3
64ビットで実行するアプリケーションを静的リンクする場合の例を示します。SQL文を使用しない主プログラム(DEMO09MAIN.COBOL)と、SQL文を使用する副プログラム(DEMO09SUB1.SCOB)、およびSQL文を使用しない副プログラム(DEMO09SUB2.COBOL)を静的リンクします。ロードモジュール名は“DEMO09.EXE”とします。
cd C:\USERS\DEFAULT\APPLICATION\SRC sqlcobol -v9 DEMO09SUB1.SCOB cobol DEMO09SUB2.COBOL cobol -M DEMO09MAIN.COBOL link /out:..\BIN\DEMO09.EXE F3CWDRV_IA64.LIB DEMO09MAIN.OBJ DEMO09SUB1.OBJ DEMO09SUB2.OBJ F6AGCIMP.LIB LIBCMT.LIB BUFFEROVERFLOWU.LIB KERNEL32.LIB USER32.LIB
目次 索引 |