COBOL2002 使用の手引 手引編

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

32.5.5 最終生成物の種類の設定

最終生成物の種類を設定するコンパイラオプションについて,説明します。

注※
最終生成物とは,コンパイラが最終的に生成する実行可能ファイルのことを示します。
<この項の構成>
(1) -Mainオプション
(2) -PICオプション

(1) -Mainオプション

(a) 形式
 
-Main,{System|V3} ファイル名
(b) 機能

最外側のプログラムをアプリケーションの主プログラムとしてコンパイルします。

ファイル中に複数の最外側のプログラムがあるときは,先頭の最外側のプログラムを主プログラムとしてコンパイルします。

-Main,System ファイル名
最外側のプログラムをアプリケーションの主プログラムとしてコンパイルします。
このとき,主プログラムが制御プログラムから受け取る引数の形式を,システム固有のargc,argv形式に合わせます。

-Main,V3 ファイル名
最外側のプログラムをアプリケーションの主プログラムとしてコンパイルします。
このとき,主プログラムが制御プログラムから受け取る引数の形式を,メインフレーム(VOS3)に合わせます。
(c) 注意事項

(2) -PICオプション

(a) 形式
 
-PIC,{Std|Expand}
-noPIC
 
(b) 機能

-PIC,Std
共用ライブラリに使う位置独立(PIC)コードを作成する場合に指定します。
ただし,HP-UX(IPF),HP-UX(IPF64),およびLinux(IPF64)では位置独立コードが標準生成のため,-PIC,Std,-PIC,Expandオプションを指定したときと指定しないときに,生成されるオブジェクトは同じです。

-PIC,Expand
-PIC,Stdを指定した場合と同じコードを生成します。

-noPIC
-PICオプションの指定を打ち消します。
(c) 注意事項

(例)
オブジェクトファイル名:xxx.o

HP-UX(IPF)の場合(共用ライブラリ名:libucbl.so)
 
ld -b xxx.o -o libucbl.so -a archive -L/opt/HILNGcbl2k/lib -lcbl2kml
 

HP-UX(IPF64)の場合(共用ライブラリ名:libucbl.so)
 
ld -b xxx.o -o libucbl.so -a archive -L/opt/HILNGcbl2k64/lib -lcbl2kml
 

AIX(32)の場合(共用ライブラリ名:libucbl.a)
 
ld -o libucbl.a xxx.o -bpT:0x10000000
   -bpD:0x20000000 -bnoentry -bM:SRE -bE:libucbl.exp 
   -L/opt/HILNGcbl2k/lib -lcbl2k -lcbl2kml -lm -lc
 

AIX(64)の場合(共用ライブラリ名:libucbl.a)
 
ld -o libucbl.a a.o b.o -b64 -bpT:0x100000000
   -bpD:0x110000000 -bnoentry -bM:SRE -bE:libucbl.exp 
   -L/opt/HILNGcbl2k64/lib -lcbl2k64 -lcbl2kml64 -lm -lc
 

Linux(x86),Linux(IPF64)の場合(共用ライブラリ名:libucbl.so)
 
ld -E xxx.o -o libucbl.so -shared -L/opt/HILNGcbl2k/lib -lcbl2kml
 

Linux(x64)の場合(共用ライブラリ名:libucbl.so)
 
ld -E xxx.o -o libucbl.so -shared -L/opt/HILNGcbl2k64/lib -lcbl2kml
 

Solaris(SPARC)の場合(共用ライブラリ名:libucbl.so)
 
ld -G xxx.o -o libucbl.so -Bstatic -L/opt/HILNGcbl2k/lib -lcbl2kml
 

オブジェクトファイルは複数指定できます。