#libngxcore
libngxcore is the library built from nginx core APIs.
nginx has powerful core APIs. but they are not able to used outside nginx. If we write a nginx module, we must build a nginx module with nginx. This way is a pain when we try as quick. libngxcore simplify to try nginx core APIs.
For example, Let's try the nginx string API with libngxcore.
#include <stdio.h>
#include <nginx.h>
#include <ngx_core.h>
#include <ngx_string.h>
int main (int argc, char *argv[]) {
ngx_str_t s = ngx_string("bokko");
printf("s :%s\n", s.data); // bokko
printf("ngx_strlen(s):%zd\n", ngx_strlen(s.data)); // 5
return 0;
}
Use examples as a reference about Building.
$ make
$ cd examples && scons
When libngxcore is build in Mac OS X, libngxcore.dylib as not a static library but a shared library is generated. So set DYLD_LIBRARY_PATH when executing libngxcore examples.
$ cd examples
$ ./string
dyld: Library not loaded: libngxcore.dylib
Referenced from: /Users/bokko/workspace/libngxcore/examples/./string
Reason: image not found
zsh: trace trap ./string
$ DYLD_LIBRARY_PATH=../ ./string
s :bokko
ngx_strlen(s):5
$