C++中调用DLL中的函数...
喝喝喝 2011-08-23 02:40:08 Windows提供的DLL是C语言写,大部分是WINAPI 的调用约定,也就是__stdcall。
C++默认的调用约定是_cdecl,以MessageBox函数为例,我在MessageBox所在的头文件函数中找到了,
#ifdef __cplusplus
extern "C" {
#endif
.......
int
WINAPI
MessageBoxExA(
HWND hWnd ,
LPCSTR lpText,
LPCSTR lpCaption,
UINT uType,
WORD wLanguageId);
................
#ifdef __cplusplus
}
#endif
所以DLL可以在C和C++中通用...所以__cplusplus应该是在写C++程序时被定义了,在什么地方,怎么都找不到呢.....
我觉得应该出现在编译器的某个设置中..或者在编译器中定义别的字符AAAA,再在包含的头文件中
#ifdef AAA
#define __cplusplus
翻了编译器的设置和但是搜了整个头文件都没找到.....