第5章 框架管理基础
----5.1 运行时类信息
----5.2 调试支持
----5.3 框架程序中的映射
----5.4框架程序的状态信息
----5.5框架程序的执行顺序
5.1 运行时类信息
1、动态类型识别(Runtime Type Infomation,RTTI):程序在运行的过程中辨别对象是否属于特定类的技术。
2、动态创建:程序运行的过程中创建指定类对象的技术。
动态类型识别靠类中的静态变量,动态创建靠类中的静态函数。
5.2 调试支持
调试版 Win32 Debug
发行版 Win32 Release
单步调试
断点调试
F5调试运行
F7组装
F10单步调试
F11调试进入函数内部
Ctrl+F10执行到当前光标所在行停止
Shift+F5终止调试
OutputDebugString 向调试器输出一些信息
运行在调试环境下,编译器自动定义宏_Debug
_asm
{int 3} 代码设置断点
ASSERT 断言 ASSERT(TRUE)程序运行 ASSERT(FALSE)程序停止
VERIFY 核对 等同于断言
5.3 框架程序中的映射
指针到指针的映射
句柄到对象指针的映射
申请一块较大的内存以解决内存碎片
5.4框架程序的状态信息
1、如何保存模块的状态?
2、模块状态和线程状态的关系?
3、CThreadLocal.GetData的使用?
MODULEENTRY32
CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, 0);
Module32First
Moudle32Next
5.5框架程序的执行顺序
问题:
va_start(ap,v)
va_arp(ap,t)
va_end(ap)
_vsnprintf
(void)0
可变参数
TCHAR