2000.09.16 更新

■「Borland C++ Compiler 5.5」でSusie Plug-inを作る

 「Borland C++ Compiler 5.5」はインプライズから無償ダウンロードできます。
(2001.01/28 追記:インプライズはボーランドに社名が戻りました。Borland C++ Compiler 5.5 無償ダウンロードサービス
 まあ、これでSusie Plug-inを作成してみようということです。

 「Borland C++ Compiler 5.5」のインストール等で困ったならば「Borland C++ Compiler 5.5 FAQ」を巡ってください。

 Susie Plug-inの作り方はSusieプラグインの制作方法や「kana's Home Page」をご覧下さい。
 このページではSusie Plug-inをターゲットとしたコンパイル・リンクのみ説明します。



●コンパイラオプション
 ソースファイルの名前を"spi.c"とすると、

bcc32 -O2 -tWD -w- -e"bcc55.spi" spi.c

 で"bcc55.spi"というプラグインができます。


・コマンドラインオプションの説明。
 -O2 :できるだけ高速のコードを生成する
 -tWD:.DLL 実行形式ファイルを生成する
 -w  :警告表示をオンにする
 -w- :警告表示をオフにする
 -e  :実行形式ファイル名を指定する
 -c  :.OBJ を生成する(リンクはしない)

●リンカオプション
 コンパイルとリンクを別々にやりたい場合・・・。

bcc32 -O2 -w- -c spi.c
ilink32 /Tpd spi.obj c0d32.obj, bcc55.spi, , import32.lib cw32mt.lib

 ・リンカオプションの説明。
 /Tpd:Windows の .DLL ファイルをターゲットにする

 ・その他の説明
 c0d32.obj:DLLスタートアップモジュール
 import32.lib:Windows API を使う
 cw32mt.lib:マルチスレッド対応のランタイムライブラリ

●MAKファイル
 コマンドラインでリンクするくらいならMAKファイルを作りましょう。
 MAKファイル(例)
cc  = bcc32
link = ilink32
# cflags:コンパイラオプション
cflags = -O2

# dll:プラグインのファイル名
dll = bcc55.spi
# objs:ソースの分だけ追加
objs = spi.obj

# ソースファイルの拡張子が".c"の場合
.c.obj:
    $(cc) $(cflags) -c $<
# 使いまわせるように".cpp"も入れとく
.cpp.obj:
    $(cc) $(cflags) -c $<

$(dll): $(objs)
    $(link) /Tpd {$? } c0d32.obj, $(dll), , import32.lib cw32mt.lib

 MAKファイルの名前をbcc55spi.makとすると、

make -f bcc55spi.mak

 でメイクできます。

・コマンドラインオプションの説明。
 -fファイル名 :ファイル名をメイクファイルとして使う(-f の後ろのスペースは省略可能)

●サンプルソース
 サンプルソース(4,881 Bytes)
 サンプルとしてBMPのプラグインを作りました。
※これ、実際にはBorland C++ Compiler 5.5(5.5.1)で試してません。
 まあBorland C++Builder5で確認したので多分大丈夫でしょう。

戻る