注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mie

 
 
 

日志

 
 

VC 2010工程转换的BUG: VC 2008 MFC工程转换为VC 2010后,CreateThread失败,GetLastError错误码87  

2011-04-05 19:05:02|  分类: Windows系统BUG搜 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
VC 2008 MFC工程转换为VC 2010后,CreateThread失败,GetLastError错误码87

之前多次遇到,一直没有去仔细跟踪。参考:

CreateThread失败的原因可能是什么 

http://topic.csdn.net/u/20090905/15/7bf41679-3ed9-40b5-ac71-5f11c088984c.html



原因:
这是VC 2010的工程转换的BUG。
VC 2008工程转换到VC 2010,工程配置参数发生变化,导致CreateThread函数调用失败。

解决方法:
打开工程配置,“链接器”——“系统”,将“堆保留大小”、“堆栈保留大小”、“堆提交大小”、“堆栈提交大小”的数值删除,即可。工程转换后,这里都变成了0,所以无法创建线程。

或者,将CreateThread的第二个参数改为0x100000。

20110410:
其实不算是BUG了,只是VC 2005和VC 2010对“堆提交大小”等数值的处理不同,VC 2005认为“0”是使用默认值,而VC 2010认为“0”就是0,而如果不填任何数值,才是使用默认值。

By:zhanyonhu

  评论这张
 
阅读(1213)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016