警告:隐式声明函数‘popen’ [-Wimplicit-function-declaration] fp = popen("lscpu", "r");
这个问题一眼的话是看不出问题的,c库文件我已经都包含了
/usr/include/sys/ipc.h:24:3: 警告:#warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE" [-Wcpp]
warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE"
^
speed.c: 在函数‘CPU_GetInfo’中:
speed.c:185:5: 警告:隐式声明函数‘popen’ [-Wimplicit-function-declaration]
fp = popen("lscpu", "r");
^
speed.c:185:8: 警告:赋值时将整数赋给指针,未作类型转换 [默认启用]
fp = popen("lscpu", "r");
^
speed.c:294:5: 警告:隐式声明函数‘pclose’ [-Wimplicit-function-declaration]
pclose(fp);
^
speed.c:297:8: 警告:赋值时将整数赋给指针,未作类型转换 [默认启用]
fp = popen("cat /etc/system-release", "r");
^
speed.c:305:8: 警告:赋值时将整数赋给指针,未作类型转换 [默认启用]
fp = popen("uname -r", "r");
解决办法
-std=c99
修改为
-std=gnu99