如何在std = c99时使用exec / kill?

时间:2011-11-19 00:12:03

标签: c c99

当我尝试使用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调用)?

我想杀人的解决方案是一样的,不是吗?

2 个答案:

答案 0 :(得分:5)

根据您的包含,您似乎正在使用某种类型的Unix。没有exec电话。有execlexexlp和其他名称取决于参数的确切类型。有关详细信息,请查看'exec'的手册页。

答案 1 :(得分:4)

您需要#define _POSIX_C_SOURCE 200809L#define _XOPEN_SOURCE 700,或在编译器的命令行中使用等效的-D选项。