머신 코어 수의 플랫폼 독립적 결정
머신의 코어 수를 결정하는 것은 소프트웨어 성능을 최적화하는 데 필수적일 수 있습니다. 그러나 이 작업을 위한 플랫폼 독립적인 솔루션을 찾는 것은 어려울 수 있습니다.
C 11 솔루션
다행히도 C 11은 코어 식별을 위해 플랫폼 독립적인 방법을 도입했습니다. count:
#include <thread> const auto processor_count = std::thread::hardware_concurrency();
이 메서드는 기본 하드웨어 및 운영 체제에서 보고한 논리적 코어 수를 반환합니다.
C 11 이전 솔루션
C 11 이전 C 버전의 경우 코어 수를 확인할 수 있는 이식 가능한 방법이 없습니다. 대신, 플랫폼별 접근 방식을 사용해야 합니다.
Windows
SYSTEM_INFO sysinfo; GetSystemInfo(&sysinfo); int numCPU = sysinfo.dwNumberOfProcessors;
Unix 계열 시스템
int numCPU = sysconf(_SC_NPROCESSORS_ONLN);
macOS(이전 10.5)
int mib[4]; int numCPU; std::size_t len = sizeof(numCPU); /* set the mib for hw.ncpu */ mib[0] = CTL_HW; mib[1] = HW_AVAILCPU; /* get the number of CPUs from the system */ sysctl(mib, 2, &numCPU, &len, NULL, 0);
Objective-C(macOS 10.5 이상)
NSUInteger a = [[NSProcessInfo processInfo] processorCount];
위 내용은 C에서 머신의 코어 수를 이식 가능하게 결정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!