房天下 > 房天下问答 > 业主生活 > 其他
  • 关于制作dll文件 C++ ――> C

    我在网上下了一段源代码,用C++写的,其中用到了类。但我自己的程序是用C写的,无法直接调用我下的源代码。所以我想先把C++的源代码转化成动态链接库文件,然后再用C语言调用里面的函数。有哪位大神能告诉我该怎么做?如果方法有效,再追加100财富值……拜托了

    提问者:没有结局

    发布于2010-12-08

共1个回答
  • kmand 丨Lv 4
    用VC++6.0打开你的C语言程序,在你的C语言程序中加两个文件用来调DLL,CallDll.h,CallDll.cpp; 把对Dll的调用放到CallDll中去,如调用Dll中的int Add(int, int)在 CallDll.h中声明 #ifdef __cplusplusextern "C" {#endif int CallAdd(int, int);#ifdef __cplusplus}#endif在CallDll.cpp中实现#include <windows.h>#include "TestCall.h" int CallAdd(int x, int y) { HINSTANCE hIns = NULL; //加载DLL hIns = LoadLibrary( (LPCTSTR)("Dll名称") ); typedef int (*pFun)(int, int); pFun pFunPtr = (pFun)GetProcAddress( (HMODULE)hIns, "?add@@YAHHH@Z" );//Dll中Add函数的真正名字,C++中会//自动改名 可以用depend查看Dll if( NULL != pFunPtr) return (*pFunPtr)(x,y); return 0; }然后在你的C程序中调用CallAdd就可以间接调用Add了,如果你要定义Dll中的类变量的话,就在CallDll.cpp中建一个函数,传出一个类变量的指针
    +1 2010-12-08 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。