Original Post
Hi, I am trying to understand some C/C++ constructions, hope anyone can help me in some simple questions. First of all, in a function prototype like this: #ifdef __cplusplus extern "C" { #endif extern int APIENTRY pngLoadRaw(const char *filename, pngRawInfo *rawinfo); #ifdef __cplusplus } #endif For example. Why the extern "C" in the #ifdef __cplusplus directive? I know it is commonly used in C++ classes when C code is used. And what the APIENTRY keyword means? It is compile specific, is it in the C++ language? it seems to map to __stdcall. Where can I find more information about: __stdcall, __cdecl, __clrcall, etc... Thanks and sorry for the silly questions