Como obter o número de CPUs no Linux usando C?

Existe uma API para obter o número de CPUs disponíveis no Linux? Quero dizer, sem usar / proc / cpuinfo ou qualquer outro arquivo sys-node ...

Eu encontrei essa implementação usando o sched.h:

int GetCPUCount()
{
 cpu_set_t cs;
 CPU_ZERO(&cs);
 sched_getaffinity(0, sizeof(cs), &cs);

 int count = 0;
 for (int i = 0; i < 8; i++)
 {
  if (CPU_ISSET(i, &cs))
   count++;
 }
 return count;
}

Mas, não há nada mais alto nível usando bibliotecas comuns?

questionAnswers(6)

yourAnswerToTheQuestion