在VC中可以在动态库源码中这样写: char g_szText[1024], __declspec(dllexport) const char * __stdcall FuncName(const unsigned char *p) { sprintf(g_szText. "this is %u !". (unsigned int) p[2]), return g_szText, } __declspec(dllexport)表示该函数要被输出.__stdcall表示参数传递方式.一般动态库都用这个.这个函数就是返回动态库中的一个全局变量的地址.当动态库被加载到你的程序中时.他也成了你程序的全局变量.不用担心内存问题. 在你的程序中可以用 __declspec(dllimport) const char * __stdcall FuncName(const unsigned char *p),声明一下就可以用了. 另外.extern "C"也是需要的.但是如果你程序和DLL用的是一种语言一个编译器编的就无所谓了.并且__stdcall也是无所谓了. char *szText = "dfsdfd", CString str(szText),就可以.另外.CString提供好多成员函数实现这个东西. |
|