dll で、関数か変数のアドレスを返します。
構文:
用法:
result = Dylibsymbol
( libhandle, symbol )
パラメタ:
libhandle
symbol
アドレスを返す、関数の名前、またはライブラリの変数を含む
string。
また、Windowsだけで、関数/変数の序数を含む
short であることができます。
戻り値:
関数が失敗すると、戻り値は 0 です。
記述:
Dylibsymbol は、
libhandle で示された dll で、
symbol という名前の変数か関数に、ポインタを返します。
libhandle は、
Dylibload で dll を読み込むことによって、取得されます。
symbol は、dll に
Export されなければなりません。
libhandle が 0 であれば、symbol は、現在の実行ファイルか dll で、捜されます。
Cdecl 関数を使うと、手続きの名前だけを、指定します。
STDCALL (ウインドウズのデフォルト)を使って作られた関数に、動的にリンクするなら、関数は、飾り付けをしなければなりません。
関数に飾り付けをするために、関数名に '@' を使います。そして、バイト数が、引数として渡されます。
例えば、関数
FOO が 3 つの整数の引数を取るなら、飾り付けをされた関数は、'FOO@12' になります。
明示的な
alias なしで、手続き名が大文字になることを、覚えておいてください。
Visual C++(tm) で作成された dll にリンクするなら、装飾を使う必要はありません。
GCC のためには、装飾が必要です。
注意:
dylibsymbol は、失敗すると、4バイトの増分で、@0 〜 @256 まで、自動的に手続きに 装飾を試みます。
例:
プラットホーム差:
-
序数は、リナックスではサポートされません。常に 0 が返されます。
- 序数は、DOS ではサポートされていません。常に 0 が返されます。
-
Windows は、変数での Dylibsymbol の使用をサポートしていません(手続きでのみ)。
- DOS: Shared Libraries - DOS のページを参照下さい。
方言差:
-
別名__Dylibsymbolと共に参照をつけないと、-lang qb 方言で利用できません。
QBからの違い:
参照: