#define TEST_API extern "C" __declspec(dllexport)没有TEST.LIB ,LoadLibrary("TEST.dll")后,是否必需GetProcAddress取得
入口 ,才能直接使用 TEST.DLL 里的函数

解决方案 »

  1.   

    搞不懂!!
    Dll里不是有导出函数的声明吗.
      

  2.   

    .h里函数声明形式:TEST_API void TEST_DIRECT(void);
      

  3.   

    papaya_stone(天霸封神斩),我要代码,如果能解决问题,我就给分
      

  4.   

    TEST_DIRECT(void)就是导出函数呀.
      

  5.   

    怎样才能直接使用 TEST_DIRECT(void)函数 ,GetProcAddress 改怎么写!
      

  6.   

    typedef void (*Test_Direct)();HINSTANCE hIns = LoadLibrary("TEST.dll");
    Test_Direct TestDirect = (Test_Direct)
        GetProcAddress(hIns, "TEST_DIRECT");
    if (TestDirect != NULL)
        TestDirect(); //调用DLL的函数TEST_DIRECT//程序退出时(或不需要调用TEST.dll的函数时),
    FreeLibrary(hIns);
      

  7.   

    FARPROC GetProcAddress(
      HMODULE hModule,    // handle to DLL module
      LPCSTR lpProcName   // name of function
    );
    HANDLE   g_hCaptureDLL=NULL;
    FARPROC  g_lpfnStartCapture=NULL;
    g_hCaptureDLL=LoadLibrary("c:\my.dll");
    g_lpfnStartCapture=GetProcAddress(g_hCaptureDLL,"TEST_DIRECT");
      

  8.   

    jishiping(JSP 季世平):
    每个导出函数都要 typedef 、GetProcAddress吗?
      

  9.   

    动态加载DLL的话,每个导出函数都需要 typedef 、GetProcAddress。
      

  10.   

    如果你用#define TEST_API extern "C" __declspec(dllexport)为什么还要用GetProcAddress取地址。如果是静态链接:声明#define TEST_API extern "C" __declspec(dllimport) 再设置一下工程,直接用不就完了。
      

  11.   

    如果想简单的话,使用静态加载DLL好了,不过需要和DLL对应的LIB文件。
    如果没有的话,可以用工具 implib.exe 产生lib文件。然后将lib文件加
    入到你的项目(工程,Project)中,在需要用到DLL的CPP的开头包含相应的
    头文件就可以了。
      

  12.   

    jishiping(JSP 季世平),使用implib.exe 能产生 lib 文件吗,只有 .h 和
    dll ,具体改怎么做?tigerfox(混合体) :是否在头文件中加入#define TEST_API extern "C" __declspec(dllimport),只有一个程序用 这个dll,应该可以静态链接,请给出具体steps不好意思,劳神!我一定另外给分!!!!
      

  13.   

    jishiping(JSP 季世平) ,papaya_stone(天霸封神斩) 问题没有解决,我先给分!随后再开贴另外加分
      

  14.   

    头文件主体如下:另有 test.dll文件,没有test.lib#define TEST_API extern "C" __declspec(dllexport)TEST_API int TEST_FOC1(unsigned short *pType );
    TEST_API int TEST_FOC2(char* szFileName,int nCon);
    TEST_API int TEST_FOC3();
    TEST_API void TEST_FOC4(void);怎样在程序中调用上述四个函数,函数只能依次调用(1、2、3、4)另加分之:http://www.csdn.net/expert/topic/645/645553.xml?temp=.7429773