1 Windows应用程序的分类
1.1 控制台程序
DOS程序,本身没有窗口,通过WINDOWS下的DOS窗口执行。
1.2 窗口程序
拥有自己的窗口,通过窗口可以和用户进行交互。(比如:记事本,画图等)
1.3 库程序
1.3.1 静态库程序
存放代码、数据的程序,其他执行文件从中获取 数据 或 代码。
1.3.2 动态库程序
存放代码、数据的程序,其他执行文件从中获取 数据 或 代码。
2 对比
2.1 入口函数
控制台程序 - main
窗口程序 - WinMain
动态库程序 - DllMain
静态库程序 - 无入口函数
2.2 文件的存在方式
控制台程序 - .exe
窗口程序 - .exe
动态库程序 - .dll
静态库程序 - .lib
2.3 执行方式
控制台程序 - 在DOS中执行。
窗口程序 - 拥有自己的窗口,在自己的窗口中执行。
动态库程序 - 本身无法执行,由其他可执行程序(.exe)或动态库调用。
静态库程序 - 执行不存在,嵌入其他可执行程序(.exe)或动态库中。
3 Windows下得开发环境
3.1 Visual Stdio
3.2 VC编译工具
1 编译器 CL.EXE
将源代码编译生成目标代码。
2 链接器 LINK.EXE
将目标代码,库文件链接生成最终文件。
3 资源编译器 RC.EXE
将资源编译,最终通过链接器存入最终的文件。
3.3 头文件
windows.h - 绝大多数头文件的集合
windef.h - windows的数据类型
winbase.h - kernel32.dll的头文件
wingdi.h - gdi32.dll的头文件
winuser.h - user32.dll的头文件
winnt.h - 提供了UNICODE字符集的支持。
3.4 库文件
kernel32.dll - 提供了核心的API,例如:进程、线程、内存管理等。
gdi32.dll - 绘图相关的API
user32.dll - 提供窗口,消息等API