Hello,
with 'extern "C"' you need to mark interfaces you are calling from C++. So whatever you have compiled in C mode, and gets called by C++ code, needs to be marked with that extern "C".
As for the MSD stack, this would only apply to a few routines, I guess. It just depends how you structure your application and the interface to the stack.
Hope this helps,
Erich