関数名 InitProlog InitParms EndProlog 概要
#include "cpro.h"
InitProlog(ARGC,ARGV,IN,OUT,ERR) int ARGC; char *ARGV[]; FILE *IN, *OUT, *ERR;
InitParms(Parms,ARGC,ARGV) char *Parms, *ARGV[I]; int *ARGC;
EndProlog();
InitProlog()は、IF/Prologのシステムを以下の方法によって初期化します。
-IF/Prologのデ−タベ−スとスタックのためにメモリを割り当てる -端末と内部デ−タ構造を初期化する -システムパラメ−タにより指定されたファイルをロ−ド/コンサルトする
ARGVとARGCは、通常通りにシステムとユ−ザのパラメ−タをIF/Prologに渡します。ファイルポインタであるIN,OUT,ERRは、IF/Prologのstdin,stdoutstderrを定義します。マクロ定義INITProlog(ARGC,ARGV)は、InitProlog(ARGC,ARGV,stdin,stdout,stderr)を呼び出します。InitProlog()は、セッションがうまく起動した場合、1を返します。セ−ブされたシステムの状態が"-r save_file"でロ−ドされた場合には、2(再起動)が返されます。起動が失敗した場合には0が返されます。
InitParms()は、命令 % ifprolog Parmsをオペレ−ティングシステムから呼び出した時と同様にARGCとARGVをセットします。ARGV[0]は、"ifprolog"にセットされます。InitParms()を使うときには、Iをパラメ−タの最大数+1として、*ARGV[I]を宣言しなければなりません。
たとえば、このオペレ−ティングシステムの呼び出しは、以下の2つのC関数の呼び出しによってシュミレ−トされます。
% ifprolog -ss 200000 -c exp_gen -1 DBase InitParms("-ss 200K -c exp_gen -1 DBase",&ARGC,ARGV); InitProlog(ARGC,ARGV,stdin,stdout,stderr);
EndProlog()は、すべてのストリームデバイスを閉じます。あなたがInitProlog()を再度呼び出しすべての割り当てられたメモリの返還を要求することができます。
| scroll to top |
|