名前...
移動
次へ 前へ
上へ 最上
参考
ProOpen, ProFetch, ProClose
Protect, UnProtect
イフコンピュータ > IF/Prolog > マニュアル > IF/Prolog V4.1 マニュアル > IF/Prolog Interfaces > IF/PrologからC言語へのインタフェ−ス > 低レベルのインタフェイス > Protect, UnProtect

Protect, UnProtect

MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

名前

Protect UnProtect

概要 Protect(Term_Ptr) UnProtect(Term_Ptr)

Term *Term_Ptr;

IF/Prologのカーベジ・コレクタが動いていて、しかもPrologの項のための領域がC側で確保されている時に、CからPrologの述語を呼び出すと問題を起こすことがあります。この問題を避けるために、C側で用意した項をカーベジ・コレクタに知らせてやらなければなりませんが、そのためにはProtect()を使います。Unprotect()は、項の値を0にすることで、その項を後で使えないように無効にし、またカーベジ・コレクタによって自動的に処理されることがないようにします。

使用例:

example() { TERM t;

t = Arg(1); Protect(&t);

ProOpen( .. ); ProFetch( .. ); ProClose( .. );

printt("%q\n",t); UnProtect(&t); return 1; }

Cboot() { CPRIM("example",1,example); }

続く..
IF/Prolog by Siemens
言語
English
Japanese
German
サーバー
USA
Japan
サイトマップ
索引
目次
全体目次
全体索引
印刷向き
imode
PDA
探索
document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/advanced_feature/c_interface/lowli/proun/home_jp.html
published 2008/11/17 update 1995/11/6 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 start (AT) ifcomputer.com
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
冒頭へ managed with ubiCMS