Exportar funciones de C++ para utilizarlas en ejecutables creados en C
Si desea tener acceso a funciones de un archivo DLL programadas en C++ desde un módulo programado en C, deberá declarar estas funciones con una vinculación C, en lugar de una vinculación C++. A menos que se especifique lo contrario, el compilador de C++ utiliza la asignación de nombres con seguridad de tipos de C++ (también llamada decoración de nombres) y las convenciones de llamada de C++, que pueden resultar difíciles de llamar desde C.
Para establecer la vinculación C, debe especificar extern "C" para las declaraciones de función. Por ejemplo:
extern "C" __declspec( dllexport ) int MyFunc(long parm1);