第一章
1 windows程序可调用的函数库,包括windowsAPI和CRT(c runtime library)两部分组成
2 LIBC.LIB是静态版本。MSVCRT.LIB是C runtime函数库动态链接版本,如果链接此库,运行时必须有MSVCRT40在场。
3 Windows API主要由系统三大模块:GDI32.DLL,USER32.DLL,KERNEL32.DLL提供。要使用时先要加上他们的import函数库,.LIB
(4.24)
4 消息为基础,事件驱动之。WPARAM是原来win16留下的,16位的变量为WPARAM,32位的变量为LPARAM。而现在都是32位
5 窗口函数:被windows系统调用的函数,而不是在应用程序中调用的 call back函数
6 消息映射的雏形:有新的消息时不需要改变窗口函数,只需要改变两个结构变量。
7 windows程序的结束:系统和应用程序都需要得到通知并处理相关事务,系统关闭窗口,程序需要结束循环。
8 DOS下的MZ格式,console下的PE格式,能在任何win32下执行。console程序可调用和GUI无关的win32API.
9 CRT有不同的版本,需要在编译时指定使用哪一个。MFC console一定要指定使用多线程版的。
10 每个核心对象创建时都会安排一个handle,process的任务不是执行代码,只是一个用于管理线程的数据结构。
11 进程的诞生与死亡,进程都是与系统有关的,shell调用createprocess激活app.exe。系统调用startup code,他调用app程序的winmain函数,结束之后还要回到系统。closehandle可以将父子进程的联系切断,不干预子进程的运行。
12 进程结束,线程也就结束了。
13 __stdcall表示参数从右向左压入堆栈,最后由调用者清理堆栈。
看到70