1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
# SWI-Prolog C++ interface
## Embedding SWI-Prolog in a C++ program
The files likes.pl and likes.cpp provide a simple example embedding
SWI-Prolog. To compile, run
swipl-ld -o likes likes.cpp likes.pl
Next, run as e.g.
./likes john
./likes -happy
## Extending SWI-Prolog using C++ code
The file `test_cpp.cpp` adds foreign predicates to SWI-Prolog.
To compile, run
swipl-ld -shared -o test_cpp test_cpp.cpp
Next, run as e.g.
swipl test.pl
?- use_foreign_library(test_cpp).
?- hello(world).
Hello world
true.
## Testing
This package also provides tests for the native C SWI-Prolog foreign
language interface because this is the most convenient place to do so
and the C++ interface depends on the C interface. Most of the testing
thereof is indirect through its usage in the core system as well as many
of the packages.
|