Extern C in C++ and file reordering