Как я могу использовать exec / kill при наличии std = c99? - PullRequest
1 голос
/ 19 ноября 2011

Когда я пытаюсь использовать 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 (или схожий вызов)?

Полагаю, что решение для убийства будет таким же, не так ли?

Ответы [ 2 ]

5 голосов
/ 19 ноября 2011

Судя по вашим включениям, похоже, что вы используете какой-то Unix. Нет звонка exec. Есть execl, exexlp и другие с именами в зависимости от точных типов параметров. Проверьте man-страницу для 'exec' для деталей.

4 голосов
/ 19 ноября 2011

Вам нужно #define _POSIX_C_SOURCE 200809L или #define _XOPEN_SOURCE 700, или использовать эквивалентные опции -D в командной строке для компилятора.

...