Addons are dynamically linked shared objects. They can provide glue to C and C++ libraries - nodejs.org
The API (at the moment) is rather complex, involving knowledge of several libraries:
- V8 JavaScript, a C++ library. Used for interfacing with JavaScript
- libuv, C event loop library. That is, if you perform any I/O, libuv will need to be used.
- Internal Node libraries.
- Others. Look in deps/ for what else is available.
Node statically compiles all its dependencies into the executable. When compiling your module, you don't need to worry about linking to any of these libraries.