1. DLL(Dynamic Linkable Library) DLL ± lib EXE DLL DLL EXE EXE ± EXE DLL 1 DLL DLL DLL Windows DLL Windows API Visual Basic Visual C++ Delphi 2 Windows system32 kernel32.dll user32.dll gdi32.dll windows API DLL kernel32.dll user32.dll gdi32.dll MessageBox user32.dll DLL (3)VC Visual C++ DLL Non-MFC DLL MFC MFC Regular DLL MFC DLL MFC Extension DLL MFC DLL MFC MFC C MFC MFC MFC DLL CWinApp MFC DLL MFC MFC DLL DLL DLL WINRAR VC++6.0
1. DLL(Dynamic Linkable Library) DLL ± lib EXE DLL DLL EXE EXE ± EXE DLL 1 DLL DLL DLL Windows DLL Windows API Visual Basic Visual C++ Delphi 2 Windows system32 kernel32.dll user32.dll gdi32.dll windows API DLL kernel32.dll user32.dll gdi32.dll MessageBox user32.dll DLL (3)VC Visual C++ DLL Non-MFC DLL MFC MFC Regular DLL MFC DLL MFC Extension DLL MFC DLL MFC MFC C MFC MFC MFC DLL CWinApp MFC DLL MFC MFC DLL DLL DLL WINRAR VC++6.0
1. DLL(Dynamic Linkable Library) DLL ± lib EXE DLL DLL EXE EXE ± EXE DLL 1 DLL DLL DLL Windows DLL Windows API Visual Basic Visual C++ Delphi 2 Windows system32 kernel32.dll user32.dll gdi32.dll windows API DLL kernel32.dll user32.dll gdi32.dll MessageBox user32.dll DLL (3)VC Visual C++ DLL Non-MFC DLL MFC MFC Regular DLL MFC DLL MFC Extension DLL MFC DLL MFC MFC C MFC MFC MFC DLL CWinApp MFC DLL MFC MFC DLL DLL DLL WINRAR VC++6.0
DLL F5 debug CTRL+F5 3 EXE 3 ± VC F11 2 libtest libcall 4 4 Visual C++ Depends user32.dll MessageBox
5 Depends DLL Depends DLL DLL DLL MFC DLL(...) (DLL) ( ) MFC DLL 4. MFC DLL 4.1 DLL 2 add add 6 VC++ new Win32 Dynamic-Link Library dlltest MFC AppWizard(dll) MFC AppWizard(dll) 5 6 MFC
5 Depends DLL Depends DLL DLL DLL MFC DLL(...) (DLL) ( ) MFC DLL 4. MFC DLL 4.1 DLL 2 add add 6 VC++ new Win32 Dynamic-Link Library dlltest MFC AppWizard(dll) MFC AppWizard(dll) 5 6 MFC
5 Depends DLL Depends DLL DLL DLL MFC DLL(...) (DLL) ( ) MFC DLL 4. MFC DLL 4.1 DLL 2 add add 6 VC++ new Win32 Dynamic-Link Library dlltest MFC AppWizard(dll) MFC AppWizard(dll) 5 6 MFC
5 Depends DLL Depends DLL DLL DLL MFC DLL(...) (DLL) ( ) MFC DLL 4. MFC DLL 4.1 DLL 2 add add 6 VC++ new Win32 Dynamic-Link Library dlltest MFC AppWizard(dll) MFC AppWizard(dll) 5 6 MFC
.def (1)LIBRARY.def DLL (2)EXPORTS.def @n n (3).def (;) lib.def dlltest ± add add 1 4.3 DLL 4.1 LoadLibrary-GetProcAddress-FreeLibrary ± Api DLL -DLL -DLL ± DLL API DLL DLL DLL ± ± IP DHCP DLL DLL ± ± DLL DLL DLL DLL Windows DLL 1 DLL dlltest.lib.dll dllcall dllcall //.lib DLL
.def (1)LIBRARY.def DLL (2)EXPORTS.def @n n (3).def (;) lib.def dlltest ± add add 1 4.3 DLL 4.1 LoadLibrary-GetProcAddress-FreeLibrary ± Api DLL -DLL -DLL ± DLL API DLL DLL DLL ± ± IP DHCP DLL DLL ± ± DLL DLL DLL DLL Windows DLL 1 DLL dlltest.lib.dll dllcall dllcall //.lib DLL
.def (1)LIBRARY.def DLL (2)EXPORTS.def @n n (3).def (;) lib.def dlltest ± add add 1 4.3 DLL 4.1 LoadLibrary-GetProcAddress-FreeLibrary ± Api DLL -DLL -DLL ± DLL API DLL DLL DLL ± ± IP DHCP DLL DLL ± ± DLL DLL DLL DLL Windows DLL 1 DLL dlltest.lib.dll dllcall dllcall //.lib DLL
.def (1)LIBRARY.def DLL (2)EXPORTS.def @n n (3).def (;) lib.def dlltest ± add add 1 4.3 DLL 4.1 LoadLibrary-GetProcAddress-FreeLibrary ± Api DLL -DLL -DLL ± DLL API DLL DLL DLL ± ± IP DHCP DLL DLL ± ± DLL DLL DLL DLL Windows DLL 1 DLL dlltest.lib.dll dllcall dllcall //.lib DLL
.def (1)LIBRARY.def DLL (2)EXPORTS.def @n n (3).def (;) lib.def dlltest ± add add 1 4.3 DLL 4.1 LoadLibrary-GetProcAddress-FreeLibrary ± Api DLL -DLL -DLL ± DLL API DLL DLL DLL ± ± IP DHCP DLL DLL ± ± DLL DLL DLL DLL Windows DLL 1 DLL dlltest.lib.dll dllcall dllcall //.lib DLL
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#define APIENTRY WINAPI //DllMain #define APIPRIVATE stdcall #define PASCAL stdcall lib.h add int stdcall add(int x, int y); typedef int( stdcall *lpaddfun)(int, int); lib.h stdcall typedef int (* lpaddfun)(int,int) cdecl 7 7 8 This is usually a result of ± stdcall 4.6 DLL DLL DLL DLL /* lib.h */ #ifndef LIB_H #define LIB_H extern int dllglobalvar;
#else class _declspec(dllimport) class_name // #endif MFC DLL _declspec(dllexport) _declspec(dllimport) DLL DLL DLL VC++ MFC DLL MFC DLL(...)