Does extern "C" have any effect in C?
No, it's not valid C. It should only be used in C++ code to refer to functions defined in C code. The extern "C"
should be surrounded in a ifdef __cplusplus
/#endif
block:
// For one function#ifdef __cplusplusextern "C"#endifvoid func();// For more than one function#ifdef __cplusplusextern "C"{#endifvoid func1();void func2();#ifdef __cplusplus}#endif