|
はじめに
ここにリストする関数は,MathLinkデベロッパーキットで提供されている関数である.
これらの関数は,mathlink.hファイル中に宣言されている.mathlink.hはあらゆるMathLink互換のプログラムのソースコードにインクルードされるべきファイルである.
#include "mathlink.h"より前に,#define MLPROTOTYPES 0を指定しない限り,関数は標準的なC言語のプロトタイプ宣言とともにインクルードされる.
次の特別タイプがmathlink.hで定義されている.
MLINK: MathLinkリンクオブジェクト(MathematicaにおけるLinkObjectと同類)
MLMARK:MathLinkストリーム中のマーク
MLENV: MathLinkライブラリ環境
次の定数がMathLinkテンプレートが処理されるときに設定される.
MLINK stdlink: MathLinkテンプレートから生成されるプログラムとMathematicaとを結ぶ標準的なリンク
MLENV stdenv:MathLinkテンプレートから生成されるプログラムの中の標準的なMathLink環境
ここで説明される関数はすべてC言語の関数であり,適切なラッパーを使えば他の言語から呼び出すことが可能である.
関数は以下に挙げる一般的な特徴を持っている.
intを返す関数は呼出しが成功するとゼロ以外の値を返し,そうでないときゼロを返すが,失敗による影響は何も及ぼさない.
MathLinkテンプレートを利用してセットアップされたプログラム中では,Mathematicaとのリンクはstdlinkと呼ばれる.
リンクへデータを送る関数はデータを保存するために使ったメモリを解放しない.
リンクからデータを受け取る関数はデータを保存するためのメモリを割り付けることがある.
リンクからデータを受け取る関数は必要なデータが得られるまでリターンしない.その待ち時間に明け渡し(yield)関数の呼出しを登録することができる.
|