我popen()
在 C++ 程序中使用。我看到它们是定义在stdio.h
. 我正在尝试让我的 IDE(KDevelop 4)识别popen()
.
我查看了实际的源代码stdio.c
。在这里,popen
不会被任何宏或任何东西“包裹” - 它看起来像任何其他典型功能stdio.h
那么,为什么popen()
我的 IDE 无法识别呢? #include <stdio.h>
应该是所需要的,但它不起作用......
我在 MAN 页面中注意到他们谈论功能测试宏。In stdio.h
,popen()
不被任何宏包裹(同样,它看起来像任何其他函数)。此外,当我尝试包含这些宏之一时,例如#define _POSIX_C_SOURCE 2
,问题没有解决 -popen()
仍然无法识别。
该程序编译(g ++)并正确运行。我只是想知道这里发生了什么。
(StackOverflow 上的另一个线程解决了这个问题,但没有得到满意的答案:popen 隐式声明,即使添加了#include <stdio.h>)