当我尝试使用exec时:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
int main()
{
exec("echo `Hello World`");
return 0;
}
我收到此错误:
code.c:11: error: implicit declaration of function ‘exec’
make: *** [code.o] Error 1
我必须使用std = c99,我不能添加任何其他编译器标志。我怎样才能使用exec(或simmilar调用)?
我想杀人的解决方案是一样的,不是吗?
答案 0 :(得分:5)
根据您的包含,您似乎正在使用某种类型的Unix。没有exec
电话。有execl
,exexlp
和其他名称取决于参数的确切类型。有关详细信息,请查看'exec'的手册页。
答案 1 :(得分:4)
您需要#define _POSIX_C_SOURCE 200809L
或#define _XOPEN_SOURCE 700
,或在编译器的命令行中使用等效的-D
选项。