DllMain是DLL的主函数,相当于普通C程序中的main()。

解决方案 »

  1.   

    我知道呀,我认为dll主要是提供一个接口给应用程序,不知道要main函数干什么
      

  2.   

    都有说明MFC,说明二者都支持MFC开发,但常规型DLL是指DLL内部使用MFC,但引出函数采用C链接方式,而扩展DLL可以使用户的MFC派生类对象发送到调用程序中,也可以自由地从调用程序中接受MFC派生类对象。但这样,一个扩展的DLL只能与MFC采用动态联编方式并且只能被MFC应用程序使用。
      

  3.   

    C/C++运行时库人启动一个DLL,每次程序挂接到或脱离DLL时,此代码都要使用C/C++语言中的库函数DLLMain(),它是DLL程序的入口函数。另处,32位Windows程序可以是多线程的(Multithreaded),每当一个线程挂接到或脱离DLL时,都要调用DLLMain函数。
    原型:
    BOOL WINAPI DllMain(
      HINSTANCE hinstDLL,  // handle to DLL module
      DWORD fdwReason,     // reason for calling function
      LPVOID lpvReserved   // reserved
    );
    fdwReason:的含义
    DLL_PROCESS_ATTACH  : 进程挂接
    DLL_THREAD_ATTACH :线程挂接
    DLL_THREAD_DETACH :进程脱离
    DLL_PROCESS_DETACH :进程脱离通过这个函数,你就可以知道
      

  4.   

    我现在要封装一个类在dll里,在应用程序里调用,那么,我该怎么办呢?
    (我刚学dll,感觉有点迷惑,最好能举个例子,我可以再加分的)
      

  5.   

    还有那个def文件,好像有的dll操作它,有的有不理它,百思不得其解
      

  6.   

    Main函数主要是完成初始化工作,比如,你相加上系统验证信息,此时就在主函数中加以验证,而不是在每一个部分都验证。普通DLL主要是使用C++进行编写,利用的是操作系统的函数,而扩展DLL,使用MFC,在发行时需要MFC的运行库。
      

  7.   

    我现在要封装一个类在dll里,当然用向导生成扩展DLL了,在类说明class 后加一个AFX_EXT_CLASS宏来说明你的类是扩展输出类。
      

  8.   

    谢谢hujun614(胡均)先生:
    还有一个问题就是我生成一个基于CDialog的类的dll,在应用程序里找不到dll中Resource.h的
    资源ID,比如对话框,字符窜,我必须把这些宏考到应用程序的Resource.h里才行,不只是什么原因