C语言获取当前系统的CPU核心数量

本文将介绍C语言在Windows系统和Linux系统下获取CPU核心数量的方法;

Linux系统下获取CPU核心数量

Linux系统下可调用sysconf函数来获取CPU的核心数量,该函数和使用的参数常量在unistd.h头文件中声明;

sysconf函数原型

long sysconf (int name);

传入参数为:

  • _SC_NPROCESSORS_CONF时,返回系统中CPU的核心数量,包括禁止用户使用的核心数量;
  • _SC_NPROCESSORS_ONLN时,返回系统中可用的CPU核心数量;

示例代码

#include <stdio.h>
#include <unistd.h>

int main(){
    printf("CPU核心数: %d\n", sysconf( _SC_NPROCESSORS_CONF));
    printf("可用CPU核心数: %d\n", sysconf(_SC_NPROCESSORS_ONLN));
}

程序输出

CPU核心数: 8
可用CPU核心数: 8

Windows系统下获取CPU核心数量

在Windows系统下,使用SYSTEM_INFO结构体和GetSystemInfo函数来获取CPU核心数量;需引入windows.h头文件;

GetSystemInfo函数用于获取当前系统的一些信息,并将信息存放到一个SYSTEM_INFO结构体中;

SYSTEM_INFO结构体定义了dwNumberOfProcessors,表示处理器的数目;

示例代码

#include <stdio.h>
#include "windows.h"

int main(){
    SYSTEM_INFO sysInfo;
    GetSystemInfo( &sysInfo );
    printf("cpu num: %d\n",sysInfo.dwNumberOfProcessors);
}

程序输出

cpu num: 8

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/get-the-number-of-cpu-cores.html

分类: 计算机技术
推荐阅读:
Golang实现获取文件或文件夹的详细信息 golang可通过使用os.Stat()来获取文件或文件夹的详细信息。
使用python求解极限 要使用Python求解一个极限,可以使用Python中的SymPy库;
MySQL ADDTIME() 函数 ADDTIME()函数将一个时间增加到另一个时间上,并返回结果;
网站搜索功能被恶意利用的解决方法 不良分子通过网站搜索框不断搜索敏感关键词,产生大批网页标题带有敏感关键词的搜索结果页,且这些页面可能会被搜索引擎收录;他们的目的是让这些敏感关键词在搜索结果中大量曝光,从而达到他们宣传的目的;
Python检查一个数是奇数还是偶数 本文将使用Python检查一个数是奇数还是偶数;偶数是能被2所整除的整数,若不是,那它就是奇数;奇数初以2的余数是1;
近期WordPress更新失败以及官网无法打开原因 在WordPress后台进行更新,尝试多次均发生了 429 Too Many Requests 错误。起初以为是当前WordPress更新用户较多导致的,随后几天发现大多数用户还是无法更新,且错误都为429,且WordPress的官网也无法打开,返回429错误。