|
BASICのヘルプに曰く、
>
実数値を取るDLL関数を利用する場合は,次の形式のASSIGN文を書く。
ASSIGN DLLファイル名 ,関数名 ,FPU
この形のASSIGN文を実行すると,FPUのスタックトップレジスタをPOPし,その値を関数の値とする。
<補足> DLLからWindowsの例外を受け取ると,ASSIGN文でExtype=-9900の例外を生成する。但し,DLLで発生する可能性のある例外はDLLの内部で処理しておくべきである。
<補足> ASSIGN文はFPUのフラッグを保存しないので,DLLでFPUのフラッグを変更したときは,戻る前に復元しなければならない。
>
この書式の通りにすなおに、とあるdll関数を定義したら、コンパイルエラー(すなわち「文法の誤り」ダイアログが表示される)となってしまいました。これはいったいどーいうことなんでしょーか? 因みに、OS、機種はWINDOWS 7 HOME,富士通F5260シリーズです。
あと、補足にある、FPUのフラグの変更後の復元の方法についてもっと詳しく教えてください。例えば、win32 apiの一関数を例にとるとかで。
よろしくお願いします。
|
|