1.常规DLL可以被各种程序(python,VB等)调用,扩展DLL只能被MFC程序调用。提供给外部使用的控件类只能用扩展DLL。
2.扩展DLL的入口函数是DllMain(),而常规DLL入口是继承自CWinApp的一个类,无消息循环。
3.常规DLL只能导出c++类,c++函数,c++类型的变量参数,不能导出MFC类和MFC类型变量,但是在dll内部可以使用MFC相关的类和变量;
扩展DLL可以导出mfc的类,使用MFC变量。
4.扩展mfc导出类一般有用宏AFX_EXT_CLASS
5..def文件可以导出规则dll和扩展dll的全局函数,但是导出变量和类还是不要用.def导出,因为我不会啊。
记住只有MFC扩展DLL才能让参数和返回值使用MFC的数据类型
具体区别,请参考:https://blog.csdn.net/qing666888/article/details/50720827
编写的区别,请参考:https://blog.csdn.net/m372897500/article/details/7246418