C/C++ windows 获取CPU数

#ifdef WIN32
#include <windows.h>
#endif // WIN32
static int kProcessorNum  =0;
int GetProcessorNum()
{

#ifdef WIN32
	kProcessorNum = 2;
	SYSTEM_INFO si;
	GetSystemInfo(&si);
	kProcessorNum = si.dwNumberOfProcessors;
	
#else //linux
	FILE *fstream=NULL;
	char buff[1024];
	memset(buff,0,sizeof(buff));
	if (NULL == (fstream = popen("grep 'processor' /proc/cpuinfo | sort -u | wc -l", "r")))
	{
		return -1;
	}

	fgets(buff, sizeof(buff), fstream);
	kProcessorNum = atoi(buff);

	pclose(fstream);

#endif // WIN32
	pritnf("GetProcessorNum = [%d].\n", kProcessorNum);
	
	return kProcessorNum;
}

猜你喜欢

转载自blog.csdn.net/Swallow_he/article/details/88867363