difference between extern "C" and simply extern
extern "C" disables name mangling. It will allow your C++ code to call functions from library compiled by C compiler
extern "C" int someFunction( void *ret_val);
will make someFunction
have C linkage.