LibraryFunctionLoad

LibraryFunctionLoad[lib, fun, argtype, rettype]
Wolframライブラリ lib をロードし,ライブラリ関数 funMathematica で使えるようにする.

詳細とオプション詳細とオプション

  • LibraryFunctionLoadの引数:
  • libロードされるライブラリ
    funライブラリファイルで指定されている関数名
    argtypes引数の型のリスト
    rettype戻り型
  • 使用可能な引数と戻り型,対応するC言語の型:
  • True|Falsemboolブール
    _Integermint機械整数
    _Realdouble機械倍数
    _Complexmcomplex機械複素倍数
    {base,rank}MTensor指定された底の型と階数のテンソル
    "UTF8String"char*UTF-8文字符号化方式による文字列
    LinkObjectMLINKMathLink に渡された引数と結果
    "Void"void結果なし(戻り値のみ)
  • LibraryFunctionLoadLibraryFunctionオブジェクトを返す.
  • LibraryFunctionLoadは同じLibraryFunctionオブジェクトを返す同じ引数で2回以上呼び出すことができる.
  • LibraryFunctionLoadFindLibraryを使って$LibraryPath上に見付かったライブラリの位置を突き止める.
  • Wolframライブラリがロードされるとライブラリにある初期化関数が呼び出される.
  • Wolframライブラリがアンロードされるとライブラリにある初期化解除関数が呼び出される.
  • LibraryFunctionLoadによってロードされたライブラリは Mathematica カーネルと同じプロセスで実行される.
  • LibraryFunctionLoadによってロードされたライブラリの中の関数は Mathematica へのコールバックを行うことができる.
  • LibraryFunctionLoadによってロードされたライブラリは Mathematica カーネルとデータを共有することができる.
  • LibraryFunctionUnloadLibraryFunctionをアンロードしてその関数を使えなくする.
  • LibraryFunctionLoadによってロードされたライブラリは Mathematica カーネルの終了によってアンロードされる.
  • LibraryFunctionLoadによってロードされたライブラリは実行されるプラットフォーム用の動的ライブラリとして書かれていなければならない.

例題例題すべて開くすべて閉じる

例 (3)例 (3)

サンプルライブラリから関数をロードする:

In[1]:=
Click for copyable input
Out[1]=

関数を呼び出す:

In[2]:=
Click for copyable input
Out[2]=

同じ入力に対しLibraryFunctionLoadを2回以上呼び出すことができる:

In[3]:=
Click for copyable input
Out[3]=

ライブラリから関数をロードする.ロードされた関数は MathLink でデータをやりとりする:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=

関数をロードする.ロードされた関数は Mathematica をコールバックしてMessage[MyFunction::info]を評価する:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=
バージョン 8 の新機能
New to Mathematica? Find your learning path »
Have a question? Ask support »