#include <stdio.h>
#define _GNU_SOURCE
#include <sched.h>
static int cpu_is_available(cpu_set_t cpu_set, int cpu){
return CPU_ISSET(cpu, &cpu_set);
}
int cpu_get_num(void){
cpu_set_t cpus;
int i;
int num_procs = 0;
if(!sched_getaffinity(0, sizeof(cpu_set_t), &cpus)){
for(i = 0; i < sizeof(cpu_set_t); i++){
num_procs += cpu_is_available(cpus, i);
}
}
else{
//error
}
return num_procs;
}
int main(int argc, char *argv[]){
printf("Processor Number:\t%d\n", cpu_get_num());
return 0;
}
编译报错:
/tmp/ccQ8TCmy.o: In function `cpu_is_available':
cpu.c:(.text+0x18): undefined reference to `CPU_ISSET'
collect2: ld returned 1 exit status
如何解决?
