如何将写好的VC exe程序生成一个DLL

解决方案 »

  1.   

    新建一个DLL工程,把需要的功能拖过去.
      

  2.   

    有创意的想法,建议这样:1,[在本工作区,也可不在]再建一个扩展的DLL工程.2,在新工程中加入你希望导出的文件,注意,不是复制一份,而就用原来工程的.这样你可以修改你的EXE,而新的DLL仅重新编译一遍就好了,不用维护两份代码.3,在你的EXE工程的所有文件中需要导出的类或函数前加一个宏,形如:
    class GUILIB_EXT_CLASS CDllLoader//类
    void GUILIB_EXT_API InitGuiLibDLL();//函数
    在DLL工程的Stdafx.h中定义:
    #ifdef GUILIB_IMPL
        #define GUILIB_EXT_CLASS  _declspec( dllexport )
        #define GUILIB_EXT_API    _declspec( dllexport )
    #else
        #define GUILIB_EXT_CLASS  _declspec( dllimport )
        #define GUILIB_EXT_API    _declspec( dllimport )
    #endif
    而在你的EXE工程中,把上述宏定义为空格什么的,只要不影响编译就好了.你尝试一下,应该增加不了多少工作量的.
      

  3.   

    我提供的方法,做了一个例子,写了更详细的实现步骤
    http://www.vchelp.net/cndevforum/subject_view.asp?page=-1&subject_id=180301