社区
C++ 语言
帖子详情
我在VC。NET 下建了一个空窗体,什么都没干,却发现CPU使用100%,这是为什么啊
tigerlhp
2008-03-15 09:03:36
我在VC。NET 下建了一个空窗体,什么都没干,却发现CPU使用100%,这是为什么啊
...全文
144
10
打赏
收藏
我在VC。NET 下建了一个空窗体,什么都没干,却发现CPU使用100%,这是为什么啊
我在VC。NET 下建了一个空窗体,什么都没干,却发现CPU使用100%,这是为什么啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Pause_break
2008-03-18
打赏
举报
回复
getmessage和peekmessage都是获取消息队列里的消息;不同的是getmessage在获取不到对应的消息时程序会被操作系统挂起cpu就让给其它程序,而peekmessage在获取不到合适消息时并不把控制权马上交回去他会让自己的程序得以再执行一段时间。
Rainstorey
2008-03-17
打赏
举报
回复
peekmessage基本用在游戏程序中.一搬窗口就用GetMessage.
sniperhuangwei
2008-03-17
打赏
举报
回复
peek是不管有没有消息都会返回,
get在没有消息的时候被阻塞,有消息才返回.
不知道对不对啊,没在win上写过程序.
过去的我
2008-03-15
打赏
举报
回复
消息不是加在这里的啊,是回调函数中处理的,你用vc自动生成一个win32的helloworld程序看看就知道了
tigerlhp
2008-03-15
打赏
举报
回复
那我应该怎么写
count();
paint(hdc);
这两个函数应该放在什么地方好。
0黄瓜0
2008-03-15
打赏
举报
回复
if()
{...}
else
{...}
都这样了,有消息要处理消息,没消息要处理你的else块,自然要占完cpu了.
michney
2008-03-15
打赏
举报
回复
这个叫做busy waiting
tigerlhp
2008-03-15
打赏
举报
回复
// 主消息循环:
while (true)
{
if (PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
{
if (msg.message == WM_QUIT)
{
break;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
tNow = GetTickCount();
int numT = 40 - tDur; //DWORD类型是无符号类型的
if(numT < 0) numT = 0;
if(tNow - tEnd >= numT || tNow - tEnd < 0)
{
tEnd = GetTickCount();
tDur = tEnd - tNow;
count();
paint(hdc);
}
}
}
我用以上消息循环就100的CPU处理,那消息循环有错吗
hastings
2008-03-15
打赏
举报
回复
恭喜你,编了个病毒程序..哈.哈..
tigerlhp
2008-03-15
打赏
举报
回复
照你说的做了。
/*
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
*/
用下面代码取代了上面的,立刻就100%的CPU使用。请教一下怎么回事?
DWORD tNow,tEnd,tDur;
while (true)
{
if (PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
{
if (msg.message == WM_QUIT)
{
break;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
tNow = GetTickCount();
int numT = 40 - tDur; //DWORD类型是无符号类型的
if(numT < 0) numT = 0;
if(tNow - tEnd >= numT || tNow - tEnd < 0)
{
tEnd = GetTickCount();
tDur = tEnd - tNow;
//count();
//paint(hdc);
}
}
}
蛙蛙推荐:VB开发规范讨论.doc
博主接到维护旧VB程序的任务,指出该程序存在全局变量多、命名不规范、辅助功能缺陷等问题,并提出多个疑问,如变量
使用
、项目移植等。同时分享了变量定义和生存期的测试总结,还探讨了VB和VB.net的相关特性及程序规范管理方法。
Visual Studio 2017 安装深度指南:环境依赖、离线部署与故障根因分析
本文系统阐述Visual Studio 2017的环境依赖、离线部署及故障根因分析。重点涵盖.NET Framework 4.6.1和
VC
++ 2017 Redistributable等核心依赖项的强制校验,Windows SDK、MSBuild、NuGet等组件的版本锁与加载顺序,以及MFC库缺失、'visual studio 提示4.6'、CUDA环境错位等典型故障的三层穿透式诊断与修复。同时提供企业级离线布局(Layout)、Powershell DSC自动化部署及版本一致性管控方案。
C++开发环境
本文介绍了多种C++开发环境,包括TurboC、C++Builder、De
vC
++、Code::Blocks、VisualStudio、Eclipse等,涵盖了从早期版本到现代高性能可视化的集成开发工具,适合初学者和专业开发者。
C++builder,visual C++,C#,C区别
本文对比分析了C#、C++、
VC
++三种编程语言的特点,包括继承性、数组、布尔类型、长类型、switch语句、字符串类型等,展示了它们在语法和功能上的差异。
e语言反编译核心技术解析:从P-Code原理到实战逆向分析
本文深入剖析e语言反编译的核心技术,聚焦其P-Code伪代码执行机制、静态与动态反编译原理及局限。详细阐述ex5文件的实战反编译流程,涵盖工具链搭建、静态解析、资源提取、动态调试验证等关键步骤,并探讨在安全审计、恶意软件分析和源码恢复等场景下的应用规范与法律边界。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章