Suppresses C++ name mangling

When linking *cmp* against C++, the exported symbols from `cmp.h` are different due to C++ name mangling. The `extern "C"` block suppresses that.