vc6 dll,vc6.0调用dll
VC6.0支持三种dll,如下所示
非MFC dll(非MFC dll);指的是不用MFC的类库结构,直接用C语言写的DLL。它的输出函数一般是标准的C接口,非MFC和MFC编写的应用程序都可以调用。您可以使用Win32应用程序向导来创建非MFC DLL项目。
规则DLL(MFC规则DLL),由MFC DLL向导创建,分为静态链接和动态链接。
由MFC DLL向导创建的扩展DLL(MFC扩展DLL)总是动态链接到MFC。
下面是来自MSDN -确定dll的类型使用。
如果DLL要使用MFC,并且将被MFC或非MFC应用程序使用,则需要生成一个动态链接到MFC或静态链接到MFC的规则DLL。在大多数情况下,可能需要使用动态链接到MFC的常规DLL,因为这个DLL的文件大小要小得多,使用共享的MFC版本会节省很多内存。如果静态链接到MFC,DLL将加载自己的私有MFC库代码副本,因此DLL的文件大小会更大,并且可能会占用额外的内存。
生成动态链接到MFC的DLL比生成静态链接到MFC的DLL更快,因为前者不需要链接MFC本身。在链接器必须压缩调试信息的调试版本中尤其如此。通过与已经包含调试信息的DLL链接,只需要压缩DLL中的少量调试信息。
动态链接到MFC的一个缺点是共享dll必须与dll一起发布:MFCx0.DLL和MSVCRT.DLL(或类似的文件)。MFC DLL可以随意重新分发,但是DLL必须仍然安装在安装程序中。此外,必须提供MSVCRT.DLL,它包含程序和MFC DLL本身都要使用的C运行时库。
如果DLL仅由MFC可执行文件使用,则可以选择生成常规DLL或扩展DLL。如果DLL实现从现有MFC类派生的可重用类,或者如果MFC派生的对象需要在应用程序和DLL之间传递,则必须生成扩展DLL。
如果DLL动态链接到MFC,则可能需要将MFC DLL与DLL一起重新分发。当在多个可执行文件之间共享类库以节省磁盘空间和最小化内存使用时,这种结构特别有用。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。