SWI-Prolog FFI examples
This directory contains both simple and real examples. Please also study
the test cases in the test directory.
- math.pl is a real starter example, illustrating connecting a
couple of functions from
-lm.
- printf.pl illustrates the (limited) handling of variadic
functions like
printf().
- mmap.pl provides file mapping. It shows handling C preprocessor
constants, handling the variadic
open() call and type casting.
- test_mmap.pl illustrates the use of mmap.pl to create a C
compatible binary file holding an array of structs.
- uchardet.pl connects
-luchardet. This a fairly simple example,
slightly complicated due to the involved character encoding.
- iconv.pl connects the
iconv() function to realise a wrapper
stream in Prolog that can be used to perform I/O from any
encoding supported by iconv() to the internal Prolog Unicode
representation. This is a complicated example due to the
extensive use of in_out arguments as well as the interaction
with the Prolog stream library.