我先在动态连接库文件中写了实现函数,然后用mfc来调用,应该如何处理,可以把dll的输出函数做到mfc的类里面去吗?

解决方案 »

  1.   

    dll的输出函数在.def中声明,应用程序先包含.h后再将.lib加入Project就可以
    直接使用DLL中的函数名进行函数调用了.
      

  2.   

    看看MSDN中以下几个函数的用法吧,对你有帮助的:
    LoadLibrary(),GetProcAddress(),FreeLibrary()
    当然还需要定义函数指针。。
      

  3.   

    有LIB文件的话,你就可以把DLL当静态库一样用,如果没有,就只能动态链接
      

  4.   

    typedef int (DllFunc *)(int arg);
    DllFunc dllFunc;
    HINSTANCE hDll = LoadLibrary("MyDll.dll");
    dllFunc = (DllFunc)GetProcAddress(hDll, "MyDllFunc");dllFunc(100);FreeLibrary(hDll);
      

  5.   

    我在win32程序里用过LoadLibrary(),GetProcAddress(),FreeLibrary()
    现在想在mfc的类里面用,我想问的是能否把dll中的函数载入到类里面,以后
    使用和类的成员函数一样用
      

  6.   

    例如:    typedef int (CALLBACK *SHUTDOWNDLG) (int);//定义一个dll中的某个函数的类型  void CDlgDlg::OnOK() {   CString s;   HINSTANCE hInst = LoadLibrary("shell32");//加在dll库文件   SHUTDOWNDLG SHShutDownDialog;   if(hInst != 0)   {     //取得函数地址
       SHShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst, (LPSTR)60);   (*SHShutDownDialog)(0);   FreeLibrary(hInst);   } }
      

  7.   

    可以,如上获取dll中的函数地址,在你的包装类中调用即可
      

  8.   

    http://expert.csdn.net/Expert/topic/1542/1542739.xml?temp=.1043665