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

分类: 计算机技术
推荐阅读:
使用PyInstaller将Python程序打包成EXE文件详细教程 通常我们执行python程序时,需要有Python环境,并要预先安装好需要使用的各个库,这样把程序给他人使用时不太方便;我们可以将python环境以及相应的运行库和程序源代码打包到一个单独的EXE文件中,这样分发程序就变得容易多了,从某种程度上说,还能起到保护程序源码不被泄露的作用。
WordPress去掉dns-prefetch 这段代码的作用是DNS预获取,当你网站有用到 s.w.org这个站点下的资源时,它能给我们提速,但实际上,国内几乎是用不上的。
Rust字符串转换成数字类型:简单易懂的教程 在Rust编程中,将字符串转换为数字类型是一个常见的任务。无论您是处理用户输入,读取文件,还是与外部API交互,都可能需要将字符串转换为数字以进行进一步的计算或处理。在本文中,我们将深入探讨如何在Rust中执行这一任务,提供简单易懂的教程和示例代码。
Python all()函数 all()是Python内置函数之一,它接收一个可迭代对象,如果可迭代对象中的所有元素都为真值(非零、非空、非None等),则返回True,否则返回False。
网站被QQ拦截的解决方法 本文将讨论网站被拦截后的表现、被拦截的原因,以及使用官方通道进行申诉的方法;
PyQt:改变PyQt界面主题风格 Qt不仅功能强大、跨平台,还一个重要的因素是它生成的界面非常漂亮,且可以随意切换主题风格;本文将介绍如何使用Python获取当前系统支持的PyQt界面主题风格,以及如何切换使用它们;