SDK12-1,帮忙看个书上程序,

booming 2005-04-14 05:38:14
SDK12-1,帮忙看个书上程序,


#include <windows.h>
#include <iostream.h>

int main()
{
SYSTEM_INFO si;
DWORD dwProc;

GetSystemInfo(&si);
cout<<"Number of available process:"<<si.dwNumberOfProcessors<<endl;
for(dwProc = 0; dwProc < si.dwNumberOfProcessors; ++dwProc)
{
//发送处理器数目并确定处理器是否是活动的
//即检测处理器能否接受线程
cout<<"Processor "<<dwProc;
if((si.dwActiveProcessorMask&(1<<dwProc)) != 0)//
cout<<" is active."<<endl;
else
cout<<" is inactive."<<endl;
}

return 0;
}

输出:
Number of available process:1
Processor 0 is active.
Press any key to continue
请问,si.dwActiveProcessorMask啥意思?
1<<dwProc这个在这里又是啥意思??
...全文
84 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
booming 2005-09-07
  • 打赏
  • 举报
回复
因为结贴期限到,不得不结贴。其实答案还不大好。谁能提供更好答案。我另外开贴加分。谢谢!!
kvls 2005-09-06
  • 打赏
  • 举报
回复
1、si.dwActiveProcessorMask表示当前有哪些活动的处理器,一共可以表示32个处理器。
如果处理器1为活动的,该变量的位0置1
如果处理器2为活动的,该变量的位1置1
。。。。。。。
如果处理器32为活动的,该变量的位31置1

2、1<<dwProc 表示将1左移dwProc位

so。。si.dwActiveProcessorMask&(1<<dwProc) 即可判断出si.dwActiveProcessorMask中的第dwProc位是否被置1,从而判断出第dwProc个处理器是否为活动状态。
booming 2005-09-06
  • 打赏
  • 举报
回复
因为结贴期限到,不得不结贴。其实答案还不大好。谁能提供更好答案。我另外开贴加分。谢谢!!
booming 2005-04-18
  • 打赏
  • 举报
回复
Bit 0 is processor 0; bit 31 is processor 31. 这话啥意思?
booming 2005-04-18
  • 打赏
  • 举报
回复
dwActiveProcessorMask
Specifies a mask representing the set of processors configured into the system. Bit 0 is processor 0; bit 31 is processor 31.

bit 31 is processor 31. 啥意思?
booming 2005-04-18
  • 打赏
  • 举报
回复
我知道是移位操作,但这个用在这个程序中目的是啥?

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧