现在要写一VC动态链接库里面的方法char *work(),需要调用别人写的test.dll动态链接库里面的chan *test()函数(注我只有别人给的test.dll文件),现请问在Vc里面怎样才能完成,本人初次接触VC,请大家帮忙了,希望给出该例子的源代码。
char * work()
{
//souce}
在此先谢过了

解决方案 »

  1.   

    到VC的书上找找,《VC++技术内幕》上有介绍
    或者搜索一下老帖子,讨论DLL的很多
      

  2.   

    typedef char* (*myfun)();char* work()
    {
    HINSTANCE hInst=LoadLibrary("test.dll");
    myfun fWork=(myfun)GetProcAddress(hInst,"test");fWork();FreeLibrary(hInst);return....
    }
      

  3.   

    我想问一下,如果我要调用的函数为 int test2(char * ch),那么我的myfun()函数该如何声明,声明为typedef char* (*myfun)(char *ch);对不对
      

  4.   

    不对,要typedef int (*myfun)(char*);
      

  5.   

    用typedef定义函数指针的方法是
    先写下函数的原型,如int test2(char * ch);
    再将函数名替换为(*类型名),如将test2换为(*myfun)
      

  6.   

    同上
    typedef int (*yourfun)(char * );
      

  7.   


    typedef int (*yourfun)(char * );
    yourfun fun=(yourfun)GetprocAddress(..);
      

  8.   

    char* work()
    {
    HINSTANCE hInst=LoadLibrary("test.dll");
    if(hInst==NULL)
    return NULL;
    typedef int (*yourfun)(char * );
    yourfun fun=(yourfun)GetprocAddress(hInst,"test");
    fun("abc");FreeLibrary(hInst);return....
    }