src/swipl-devel/packages/cpp/README.md

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.



Try the rswipl package in your browser

Any scripts or data that you put into this service are public.

rswipl documentation built on April 3, 2025, 5:53 p.m.