Using the Apache Portable Runtime (APR)

The goal of the [http://apr.apache.org APR] project is to provide an API to which software developers may code and be assured of predictable if not identical behaviour regardless of the platform on which their software is built, relieving them of the need to code special-case conditions to work around or take advantage of platform-specific deficiencies or features.

It contains, among other things, the following functionality:

APR Hello World

The following is a minimal program that makes use of the APR library:

#include <stdio.h>
#include <apr_general.h>

int main(int argc, const char *argv[])
{
    apr_status_t rv;

    rv = apr_initialize();
    if( rv != APR_SUCCESS ) {
      char errbuf[256];
      apr_strerror(rv, errbuf, sizeof(errbuf));
      puts(errbuf);  /* show the error description */
      return -1;
    }

    printf( "Hello APR world!\n");

    apr_terminate();
    return 0;
}

Compiling under Unix

You have to define the macro LARGEFILE64_SOURCE and link against the apr-1 library::

cc -o try-helloworld-APR try-helloworld-APR.c -D_LARGEFILE64_SOURCE -I/usr/include/apr-1.0/ -lapr-1