一、Windows应用程序的类型
1、控制台程序Console DOS程序,本身没有窗口,通过Windows DOS窗口执行
2、窗口程序 拥有自己的窗口,可以与用户交互 库程序 存放代码、数据的程序,执行文件可以从中取出代码执行和获取数据
3、静态库程序 扩展名LIB,在编译链接程序时,将代码放入到执行文件中
4、动态库程序 扩展名DLL,在执行文件执行时从中获取代码
二、四种应用程序的对比
1、入口函数
控制台程序 - main
窗口程序 - WinMain
动态库程序 - DllMain
静态库程序 - 无入口函数
2、文件存在方式
控制台程序、窗口程序 - EXE文件
动态库程序 - DLL文件
静态库程序 - LIB文件
3、执行方式
控制台程序 - 在DOS窗口内执行
窗口程序 - 拥有自己的窗口在自己的窗口内执行
动态库程序 - 本身无法执行,由可执行程序或其他的DLL调用
静态库程序 - 执行不存在,代码会嵌入到可执行文件或DLL等中
三、VC的编译工具
编译器CL.EXE 将源代码编译成目标代码.obj
链接器LINK.EXE 将目标代码obj、库*.lib链接生成最终文件,LINK.EXE xxx.obj xxx.lib,有资源文件再加*.rc
资源编译器RC.EXE (.rc)将资源编译,最终通过链接器存入最终文件
四、Windows库和头文件
1、Windows库
kernel32.dll - 提供了核心的API,例如进程、线程、内存管理等。 user32.dll - 提供了窗口、消息等API
gdi32.dll - 绘图相关的API
2、windows头文件
windows.h - 所有windows头文件的集合
windef.h - windows数据类型
winbase.h - kernel32的API
wingdi.h - gdi32的API
winuser.h - user32的API
winnt.h - UNICODE字符集支持