1. 警惕unsigned 造成的死循环
unsigned int 与 0 的比较作为循环条件: jb,jl
for( unsigned int uI = 10 ; uI >= 0 ; uI --){ /*死循环* / }
// 因为 ul >= 0 被汇编为: cmp xx, xx; jb xxx; !!!
for( int i = 10; i >= 0 ; i --){ /* */ }
// i >= 0 被汇编为: cmp xx, xx; jl xxx; !!!
同样,unsigned int 与 int 比较作为循环条件时,循环不执行:
int temp = -1;
for( unsigned int t = 10; t >= temp ; t -- ){ /* 循环不执行 */ }// unsigned 与 int 比较时,都转换为 unsigned , 故汇编为: jb xxxx
2. 类中的被调函数
当类中有 __stdcall 函数时,应声明为 static 类型,同时在类外定义时, 不要有 __stdcall 及 staic 出现,否则会出错( vc6.0 ).
3. C++ 中 typeid, 异常 的实现:
// ?????
4.