The library header files automatically define functions to have
extern "C" linkage when included in C++ programs. This allows
the functions to be called directly from C++.
To use C++ exception handling within user-defined functions passed to
the library as parameters, the library must be built with the
CFLAGS compilation option -fexceptions.