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
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.
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.