我想使用popen。它在stdio.h中。我包括了,但是编译器看不到 -std = c11。无需-std = c11即可编译。
#include <stdio.h>
int main(void)
{
popen("ls *","r");
}
gcc -std = c11 popen_test.c
popen_test.c:在“ main”函数中:
popen_test.c:5:4:警告:函数'popen'的隐式声明[-Wimplicit-function-declaration]
popen("ls *","r"); ^~~~~
它被隐藏在stdio.h中,
#ifdef __USE_POSIX2
该手册页说它在以下情况下可用:
_POSIX_C_SOURCE> = 2 || / * Glibc版本<= 2.19:* / _BSD_SOURCE || _SVID_SOURCE
答案 0 :(得分:1)
<div class="gallery">
<div class="row">
<div class="frame"><img src="https://via.placeholder.com/200x400" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/200x50" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/200x300" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/200x100" alt=""></div>
</div>
<div class="row">
<div class="frame"><img src="https://via.placeholder.com/400" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/400" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/400x200" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/400x800" alt=""></div>
</div>
<div class="row">
<div class="frame"><img src="https://via.placeholder.com/500x200" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/500x200" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/500x200" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/500x200" alt=""></div>
</div>
<div class="row">
<div class="frame"><img src="https://via.placeholder.com/200x200" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/300x400" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/300x200" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/300x100" alt=""></div>
</div>
<div class="row">
<div class="frame"><img src="https://via.placeholder.com/500x400" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/500x200" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/500x300" alt=""></div>
<div class="frame"><img src="https://via.placeholder.com/500x100" alt=""></div>
</div>
</div>
不是C的一部分。要获取它,您需要在添加任何内容之前先使用feature test macro启用它。
最简单的方法是在顶部使用popen
(或在编译器调用中使用#define _GNU_SOURCE
)。
用-std = c11编译:
-D_GNU_SOURCE