调用DLL
我想把掉出来的函数都放到头文件里面去。(想法是不是很单纯啊)
于是我就在
//dllfun.hHINSTANCE hInst;
hInst = LoadLibrary("xxx.dll");
....//call.cpp
#include "dllfun.h"
就出错了.
后来再改:
//dllfun.htypedef int (*ADD)(int x, int y);
....
....
//call.cpp
#include "dllfun.h"
HINSTANCE hInst;
hInst = LoadLibrary("xxx.dll");
ADD DoSex = (ADD) GetProcAdrress( hInst , "MakeLove");
怎么还是错。如果我想这么做,该怎么办啊(我指能把取出来的函数单独列出来的方法)

解决方案 »

  1.   

    声明在头文件,定义在CPP文件:dllfun.hHINSTANCE hInst;
    typedef int (*ADD)(int x, int y);
    ADD DoSex;
    ....//call.cpp
    #include "dllfun.h"hInst = LoadLibrary("xxx.dll");
    DoSex = (ADD) GetProcAdrress( hInst , "MakeLove");
      

  2.   

    噢,我的意思表述有点失误,这样是可以的。
    问题是这样的
    我想在Fun.h或Fun.cpp中完成LoadLibrary,GetProcAdrress
    然后在程序的其它地方include "Fun.h",然后直接DoSex(man, women);
    ^^
      

  3.   

    dllfun.hHINSTANCE hInst;
    typedef int (*ADD)(int x, int y);
    extern ADD DoSex;
    ....//call.cpp
    #include "dllfun.h"hInst = LoadLibrary("xxx.dll");
    ADD DoSex = (ADD) GetProcAdrress( hInst , "MakeLove");
      

  4.   

    LoadLibrary和GetProcAdrress是不是一定要放在调用的地方?