CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

循环到5000多此出现如下状况

楼主AttachDotNet()2003-12-04 15:50:49 在 VC/MFC / 基础类 提问

应该循环17000次  
  到了5000多次的时候  
  程序停止在  
  AFX_MODULE_STATE*   AFXAPI   AfxGetModuleState()  
  {  
  _AFX_THREAD_STATE*   pState   =   _afxThreadState;  
  AFX_MODULE_STATE*   pResult;  
  //////////////////////////////////////////////////  
  //下一个if判断为程序停止处,其中pState为0x00000832  
  //pState->m_pModuleState为CXX0030:   Error:   expression   cannot   be   evaluated  
  if   (pState->m_pModuleState   !=   NULL)  
  {  
  //   thread   state's   module   state   serves   as   override  
  pResult   =   pState->m_pModuleState;  
  }  
  else  
  {  
  //   otherwise,   use   global   app   state  
  pResult   =   _afxBaseModuleState.GetData();  
  }  
  ASSERT(pResult   !=   NULL);  
  return   pResult;  
  }  
   
  请问为何?  
   
  修改程序,只循环5000次,那么运行结果是5000次的正确结果。  
  内存应该问题不大,new使用了不到20000次,共占用<   20000*16B 问题点数:0、回复次数:4Top

1 楼matiao(麻条)回复于 2003-12-04 23:25:09 得分 0

试一下增加线程的堆栈大小。默认只有1M,除了20000*16B外,它还需要额外的内存维护内存分配信息,以及代码等。Top

2 楼syl5005(syl5005)回复于 2003-12-04 23:29:19 得分 0

你的循环程序的代码贴出来看看。Top

3 楼AttachDotNet()回复于 2003-12-04 23:33:07 得分 0

发现执行了5590次之后,程序运算正确  
  可是返回时出错  
  是不是函数的入口被破坏?  
  猜测  
   
  那么如何维护堆栈呢?Top

4 楼cllr(寂寞2001)回复于 2003-12-05 01:25:48 得分 0

你的栈空间不够了,超过64K了Top

相关问题

  • 什么网络病毒出现如下状况?
  • 我的状况如下,给点建议!(在线等)
  • SCO Unix上Informix出现如下问题
  • 安装jbuilder7出现如下问题
  • 出现如下错误如何解决???
  • Weblogic出现如下错误,请帮忙!!!!!!
  • 最近装linux出现如下问题:
  • 调试时出现如下错误
  • 出现如下错误,如何修改?
  • help!建表时出现如下错误

关键词

  • pstate
  • pmodulestate
  • presult
  • 程序
  • afx
  • state
  • module

得分解答快速导航

  • 帖主:AttachDotNet

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo