我现在有一个工程,里面有很多.h和.cpp文件,我想写一个DLL文件,在另一个工程里面直接调用这个工程里面的函数,但不知道该怎么写。看了网上的一些帖子但好像都不是这样的,各位大虾不烦赐教一下。MSN:[email protected].谢了!问题解决马上给分!!

解决方案 »

  1.   

    用向导写一个dll工程,把你的类全放进去,然后静态加载就好了,其他工程加载 lib文件和头文件, 在导出的类前加上__declspec(dllexport)
      

  2.   

    建一个WIN32动态链接库工程,选择EMPTY PROJECT,然后写一个主头文件,声明你的那些功能函数,这些函数在.H中的声明和在.CPP中实现代码的函数名前面加上__declspec(dllexport),再写一个DEF文件来硬性规定DLL导出函数名。使用时显式、隐式调用随你(隐式调用注意把COPY过来的DLL的主头文件中的__declspec(dllexport)替换为__declspec(dllimport))。
      

  3.   

    动态链接工程我有,我就是不知道怎么在另一个工程去调用。主要是我不会写.DLL
    文件
      

  4.   

    up,能详细讲解下吗?我有一个例子,也是调用的这个DLL工程,但我在那个工程里面没有看到下面几个人写的那些代码。希望有好心人能帮忙弄懂这个代码
      

  5.   

    首先用Wizard建立一个MFC Extension(DLL) Project,在CPP文件中写函数,例如:DWORD Init(),同时在工程中建立.def文件,这样写:
    LIBRARY      "*****"
    EXPORTS
    Init    @1
    编译就会生成dll文件.
    当你使用的时候,先LoadLibrary("***.dll");
    typedef DWORD   (*pInit)();//函数指针必须和DLL中的定义一样
    pInit Init;//定义一个函数指针变量
    Init=(pInit)GetProcAddress(handle,"Init");//指针变量指向了DLl中的Init
    然后当你要调用DLl中的Init的时候,你直接调用Init就可以了.其实很简单的.