﻿# Как в Win64 узнать, сколько процессорных ядер в системе?

Для получения информации о количестве процессорных ядер в системе можно воспользоваться переменной окружения Windows NUMBER\_OF\_PROCESSORS\. Ниже приведён фрагмент кода на C\+\+, в котором с помощью метода WinAPI GetEnvironmentVariable  извлекается и выводится на экран содержимое данной переменной среды\.

```cpp
#include <windows.h>
#include <tchar.h>
#include <stdio.h>

#define VARNAME TEXT("NUMBER_OF_PROCESSORS")
#define BUFSIZE 4096

int main()
{
  TCHAR buf[BUFSIZE];
  DWORD dwRet = GetEnvironmentVariable(VARNAME, buf, BUFSIZE);
  if (dwRet > 0 && dwRet < BUFSIZE)
    _tprintf(_T("Number of processors: %s\n"), buf);

  return 0;
}
```

## Библиографический список

1. MSDN library\. [GetEnvironmentVariable Function\.](https://msdn.microsoft.com/en-us/library/ms683188(VS.85).aspx)
1. Обсуждение на social\.msdn\.microsoft\.com\. [About the \_\_cpuid on windows XP x64](https://social.msdn.microsoft.com/Forums/vstudio/en-US/f6097887-62b5-4abd-a796-5aefcb3f46d1/about-the-cpuid-on-windows-xp-x64?forum=vcgeneral)\.
1. Обсуждение на stackoverflow\.com\. [Programmatically find the number of cores on a machine](https://stackoverflow.com/questions/150355/programmatically-find-the-number-of-cores-on-a-machine)\.