就我个人观点,C++/MFC 程序设计必须跨越四大技术障碍:
1. 对象导向观念与C++ 语言。
2. Windows 程序基本观念(程序进入点、消息流动、窗口函数、callback...)。
3. Microsoft Foundation Classes(MFC)本身。
4. Visual C++ 整合环境与各种开发工具(难度不高,但需熟练)
SDK - Software Development Kit,原指软件开发工具。每一套环境都可能有自己的SDK。
凡以Windows raw API 撰写的程序我们通常也称为SDK 程序。
MFC - Microsoft Foundation Classes 的缩写,这是一个架构在Windows API 之上的C++ 类别库(C++ Class Library),意图使Windows 程序设计过程更有效率,更符合物件导向的精神。
Windows 程序分为「程序代码」和「UI(User Interface)资源」两大部份,两部份最后以RC编译器整合为一个完整的EXE 文件。
并不是延伸档名为.dll 者才是动态联结函数库(DLL,Dynamic Link Library),事实.exe、.dll、.fon、.mod、.drv、.ocx 都是所谓的动态联结函数库。
Windows 程序调用的函数可分为C Runtimes 以及Windows API 两大部份。
另一组函数,Windows API,由操作系统本身(主要是Windows 三大模块GDI32.DLL 和USER32.DLL 和KERNEL32.DLL)提供。
所有Windows 程序都必须包含WINDOWS.H。
噢,USER 模块掌管各个外围的驱动程序,它们各有侦测回路。
如果把应用程序获得的各种「输入」分类,可以分为由硬件装置所产生的消息(如鼠标移动或键盘被按下),放在系统队列(system queue)中,以及由