用 VS2005 向导创建了一个中规中矩的 win32 控制台程序,之后创建两个类:CThreadManager、CThread。
准备用 manager 管理 thread。
这下可坏了,不管怎么弄,在调版下都报异常,并且一样的代码在VC6下正常。
最后把CThread类的成员变量 _threadid 改了个名,问题解除……
原来 VS 2005 的多线程处理里面有一个变量命名 BUG……
注:我的多线程用的 C 库 _beginthreadex 和 _endthreadex。