・コンパイラに、ディレクトリ$PROROOT/cの中のライブラリ−ファイルとcpred.hを指定しましたか?...
移動
次へ 前へ
上へ 最上
参考
C関数のIF/PrologのC述語への変換
C述語ためのコンパイルとリンク
ライブラリ関数を使ったプログラム例
あなたのプログラムが動かない場合
イフコンピュータ > IF/Prolog > マニュアル > IF/Prolog V4.1 マニュアル > IF/Prolog Interfaces > IF/PrologからC言語へのインタフェ−ス > バックトラックしないProlog述語をC言語で書く > あなたのプログラムが動かない場合

あなたのプログラムが動かない場合

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.

・コンパイラに、ディレクトリ$PROROOT/cの中のライブラリ−ファイルとcpred.hを指定しましたか?

・機種によってCコンパイラは異なります。オプションの省略形も違ってきます。

・新しく定義した述語を使って、"undefined_predicateが出たら、Cboot関数の中に何か誤りがあります。Cの関数とCPRIM/CPREDの引数に同じ名前を使っていないかチェックして下さい。特に大文字と小文字をチェックして下さい。

・新しい述語を含んだファイルには、Cboot関数は1つだけですか?

・もし複数の述語を使っているならば、Cboot関数の中に、その述語それぞれに対してCPRIMまたはCPREDがありますか?

・すでに使われている名前を述語に使っていませんか?

・コンピュ−タが PCS Cadmus ならば、fFコンパイルオプションを使っていますか?  (2バイト/4バイト整数)

・ライブラリ−関数AtStrを使いましたか?もし使っていれば、IF/Prologが実際に使う項目を使っているということを忘れてはなりません。それをそのままにしておくことは、あなたのプログラムの責任です。たとえば、C言語でのストリングの表現形式は、Pascalの表現形式に変えることがあるかもしれません。しかし、その項目のコピ−に対して操作をするか、または用がすんだら変換したものを元に戻さなければなりません。

・Prologで整数を返してもらいたい時に、期待していたよりはるかに大きな値を受け取った時には、おそらくIntCPを呼ぶ前にINTによってintをlongにキャストしなかったためです。

続く..
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/cpredw/whatdo/home_jp.html
published 2008/10/6 update 1994/7/28 (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