I have a Prolog file (Hanoi.pl) containing the code for solving the
Hanoi Towers puzzle:
hanoi( N ):-
move( N, left, middle, right ).
move( 0, _, _, _ ):-
move( N, A, B, C ):-
M is N-1,
move( M, A, C, B ),
inform( A, B ),
move( M, C, B, A ).
inform( X, Y ):-
write( ‘move a disk from ‘ ),
write( X ),
write( ‘ to ‘ ),
writeln( Y ).
I also have a C++ file written in VS2008 IDE:
using namespace std;
int main(int argc, char** argv)
long n = 5;
if ( !PL_initialise(1, argv) )
PL_put_integer( t0, n );
phanoi = PL_predicate( “hanoi”, 1, NULL );
rval = PL_call_predicate( NULL, PL_Q_NORMAL, phanoi, t0 );
system( “PAUSE” );
How can I consult my Prolog source code (Hanoi.pl) from within my C++
code? Not from the Command Prompt - from the code, something like
include or consult or compile? It is located in the same folder as my
Please log in or register to post a reply.
Did you RTFM? ;)
What do you mean with “consult”? And why are you using Prolog in the
first place? It’s useless except for historical academic reasons.
I mean how can I compile my Prolog file into my C++ file?
At the command prompt, you would probably do something like:
plld -c Hanoi.pl
On VS2008 you would simply press F5 to build and compile.
How can I compile my Prolog program as well so that my C++ program can
use the knowledge base in it?
You’ll need to find a Prolog engine architected as a C/C++-compatible
library (or you’ll have to find an open source one and package it up as
a library yourself). Then you can embed Prolog in your own programs by
linking with that library.