牛骨文教育服务平台(让学习变的简单)
博文笔记

windows 系统资源获取的c++ 方法

创建时间:2014-03-29 投稿人: 浏览次数:160

1.  获取windows cpu  核个数

size_t getProcessorCores()
{
    DWORD process, system;
    if(GetProcessAffinityMask(GetCurrentProcess(), &process, &system))
    {
        int count = 0;
        for(int i = 0; i < 32; i++)
            if(system & (1 << i))
                count++;
        return count;
    }
    // may be we hav"t PROCESS_QUERY_INFORMATION access right
    SYSTEM_INFO sysinfo;
    GetSystemInfo( &sysinfo );
    return sysinfo.dwNumberOfProcessors;
}

size_t getAvailableProcessorCores()
{
    DWORD process, system;
    if(GetProcessAffinityMask(GetCurrentProcess(), &process, &system))
    {
        int count = 0;
        for(int i = 0; i < 32; i++)
            if(process & (1 << i))
                count++;
        return count;
    }
    // may be we hav"t PROCESS_QUERY_INFORMATION access right
    SYSTEM_INFO sysinfo;
    GetSystemInfo( &sysinfo );
    return sysinfo.dwNumberOfProcessors;
}


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。