[index > X68kの読み物や資料の部屋]

一般的な外部関数インストール手順


外部関数本体のインストール

foo.fncをインストールする場合。

  1. BASIC.X(またはxb.r)があるディレクトリにfoo.fncをコピーします。
  2. そのディレクトリのBASIC.CNF(またはxb.cnf)にFUNC = fooの1行を追加します。

他の外部関数に同名の関数がある場合、 BASIC.CNF(xb.cnf)に先に書かれている外部関数の方の関数が有効になります。 (なお、BASIC内蔵の関数と同名の場合は常にBASIC内蔵関数が有効です)

[戻る]


BAStoC環境のインストール

foo.fncのBAStoC環境(foo.def・foo.h・foo.a)をインストールする場合。

  1. BC.Xがあるディレクトリにfoo.defをコピーし、 そのディレクトリのBASIC.CNFにFUNC = fooの1行を追加します。
  2. 環境変数includeの指すディレクトリにfoo.hをコピーします。
  3. 環境変数libの指すディレクトリにfoo.aをコピーします。

同名の関数を含む他の外部関数があった場合にどうなるかは調べていませんが、 おそらく.fncの時と同じだと思います。

また、LIB.Xを用いてBASLIB.Lにfoo.aを含ませてしまうのはやめた方が無難なようです。 (以前どこかでBASLIB.Lが壊れるとの報告があったような記憶があります)

[戻る]


BAStoCコンパイル

上記の手順でインストールした場合、 foo.fncを利用したBASICプログラムbar.basをBAStoCコンパイルするには以下のようにします。

  1. BC -E bar.basします。 エラーが出たらbar.basを修正するか、foo.defがきちんとインストールされているか確認します。
  2. システム変数errnoを利用しているプログラムの場合は、 生成されたbar.c先頭のstatic int errno;をextern int errno;に書き換えます。
  3. gcc -c -O -fcombine-regs -finline-functions -fomit-frame-pointer -fstrength-reduce bar.cします。 エラーが出たらfoo.hがきちんとインストールされているか確認します。
  4. hlk -l -x bar.o -lgnu foo.a CLIB.L BASLIB.L FLOATFNC.Lします。 エラーが出たらfoo.aがきちんとインストールされているか確認します。

[戻る]


[index > X68kの読み物や資料の部屋]

Written by mor.

最終更新は2001年10月31日(水)です。