It means that the extern symbols are in C format and not C++ format. ie the names are not mangled to include their type. This also means that overloaded functions can't be used. This means that the function parameters can only use C types (no std::string etc). This way the same library can be used by both C and C++ programs.