您的位置:首页 > 运维架构

使用c99编译出warning: implicit declaration of function ‘popen’

2013-11-03 13:23 1271 查看

问题:

ubuntu中使用gcc 4.6.3编译代码。

源代码中使用了popen()和pclose()函数,当源代码没使能c99选项前,编译结果不报warnings;使能c99选项后(gcc -std=c99),编译时出现warnings:

controller.c:482:5: warning: implicit declaration of function ‘popen’ [-Wimplicit-function-declaration]
controller.c:482:18: warning: initialization makes pointer from integer without a cast [enabled by default]


解决办法:

1. 源代码中已经包含了popen()和pclose()的头文件#include <stdio.h>,这也是不加-std=c99时不报warnings的原因;

2. 将-std=c99替换为-std=gnu99;重新编译,warning消失。

问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐