Go to the first, previous, next, last section, table of contents.

Inline functions

The inline keyword is not part of ANSI C and the library does not export any inline function definitions by default. However, the library provides optional inline versions of performance-critical functions by conditional compilation. The inline versions of these functions can be included by defining the macro HAVE_INLINE when compiling an application.

gcc -c -DHAVE_INLINE app.c

If you use autoconf this macro can be defined automatically. The following test should be placed in your `configure.in' file,

AC_C_INLINE

if test "$ac_cv_c_inline" != no ; then
  AC_DEFINE(HAVE_INLINE,1)
  AC_SUBST(HAVE_INLINE)
fi

and the macro will then be defined in the compilation flags or by including the file `config.h' before any library headers. If you do not define the macro HAVE_INLINE then the slower non-inlined versions of the functions will be used instead.

Note that the actual usage of the inline keyword is extern inline, which eliminates unnecessary function definitions in GCC. If the form extern inline causes problems with other compilers a stricter autoconf test can be used, see section Autoconf Macros.


Go to the first, previous, next, last section, table of contents.