如果要在C++程序中引用C程序中的变量,要在extern后加"C"。在appmodul.cpp(MFC核心头文件)中有一个例子extern
"C" int WINAPI,引用了crtexe.c里的WINAPI变量。
常用的 extern "C" 是把导出函数声明为C编译。由于C++编译器在编译的时候会造成其函数名的该变,在其他应用程序中导致函数不可调用,而C编译器则不会在编译后改变其函数 名。这样如果用C编译的程序来调用该dll中的函数时,可能会造成找不到该函数。但若要实现函数的重载应该使用def文件。
代码中使用如下实现
#ifdef __cplusplus
extern "C"{
#endif
C函数声明;
#ifdef __cplusplus
}
#endif