Did you know ... Search Documentation:
Pack ffi -- examples/README.md

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.