FreeBASIC マニュアルのトップに戻る

FreeBASIC Dylibsymbol

目次→言語リファレンス→命令文→モジュール化DYLIBSYMBOL←オリジナル・サイト

DYLIBSYMBOL 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

dll で、関数か変数のアドレスを返します。

構文:
declare function Dylibsymbol ( byval libhandle as any ptr , byref symbol as string ) as any ptr
declare function Dylibsymbol ( byval libhandle as any ptr , byval symbol as short ) as any ptr

用法:
result = Dylibsymbol ( libhandle, symbol )

パラメタ:
libhandle
Dylibload で返される、DLLの any ptr ハンドル。
symbol
アドレスを返す、関数の名前、またはライブラリの変数を含む string
また、Windowsだけで、関数/変数の序数を含む short であることができます。

戻り値:
ライブラリの関数か変数への pointer
関数が失敗すると、戻り値は 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 まで、自動的に手続きに 装飾を試みます。

例:
Shared Libraries ページの動的ローディングの例を参照下さい。

プラットホーム差:
方言差:
QBからの違い:
参照:
モジュール化 に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2022-06-25 11:28:03
日本語翻訳:WATANABE Makoto、原文著作者:AntoniGual

ホームページのトップに戻る

表示-非営利-継承