Visual C++ 6.0技术内幕笔记(一)
第一部分 Windows、Visual C++ 和应用程序基础框架
第一章 Microsoft Windows 和 Visual C++
windows编程模型
消息处理 DOS 入口点main函数。
Windows 入口点WinMain函数。
WinMain函数执行一些特定任务,最重要的任务是创建应用程序主窗口,这个主窗口必须有自己的代码来处理Windows发送给它的信息。
Windows图形设备接口 Windows引入了一个名为图形设备接口(GDI)的抽象层。程序不是寻址硬件,而是调用GDI函数,这些函数引用名为设备环境的数据结构。
基于资源的编程 使用大量已经建立的建立的格式在资源文件中存储数据。链接程序把二进制资源文件和C++编译程序的输出组合起来生成一个可执行程序。
内存管理 主要由Windows管理。
DLL DOS 所有对象模块在建立过程中都是静态链接。
Windows 允许动态链接,这意味着特别构建的库可以在运行时加载和链接。多个应用程序可以共享DLL。 DLL节约了内存和磁盘空间,提高程序模块性。
Win32API Win32API相对Win16API提供了许多新函数。
Visual C++组件
Microsoft Visual C++ 6.0和创建过程 工程:工程是进行编译和链接来创建可执行Windows程序或者DLL的相关资源文件的集合,工程也依赖于工程子目录为的许多文件和库文件。
makefile 生成文件(makefile)包含编译程序和链接程序选项,并且表示了源文件之间的所有内部联系。生成程序读取生成文件,然后调用编译程序、汇编程序和链接程序来生成最重的输出。Vsiual C++中,工程文件(VCPROJ)起着同样的作用。
文件扩展名 说明
APS Supports Resource View
BSC Browser information file
IDL Interface Definition Language file
NCB Supports Class View
SLN Solution file[*]
SUO Holds solution options and configuration
VCPROJ Project file[*]
[*]Do not delete or edit in a text editor.
资源编译程序 Visual C++资源编译程序从资源编辑器中读取ASCII资源脚本(RC)文件,并为链接程序写一个二进制RES文件。
链接程序 链接程序读取由C/C++编译程序和资源编译程序生成的OBJ和RES文件,并且为MFC代码、运行库代码和Windows代码访问LIB文件,最后生成最终程序。