В Atom.io отсутствует sys / wait.h или разрешено fork () - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь узнать, как одновременно запускать алгоритмы в c, используя fork ().Похоже, что atom.io не добавит sys / wait.h при компиляции, но когда мой точно такой же код выполняется на школьном сервере, он прекрасно скомпилируется.Есть ли способ добавить дополнительные заголовочные файлы в atom и позволить ему использовать fork и wait?Я запускаю программу на Windows 10, но школьная база данных использует Unix, это повлияет на заголовочные файлы?

Это именно тот код, который я запускаю для теста с Фибоначчи и скомпилирован с использованием GCC minGW

Я получаю простую ошибку sys / wait.h, в которой нет такого файла или каталога, и кажется, что если я закомментирую sys / wait, «waitpid больше не объявлен в этой области» и «Fork не был объявлен в этой области"

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>

int main()
{

int a=0, b=1, n=a+b,i;

printf("Enter the number of a Fibonacci Sequence:\n");
scanf("%d", &i);

pid_t pid = fork();
if (pid == 0)
{
    printf("Child Fibonacci\n");
    printf("0 %d ",n);
    while (i>0) {
        n=a+b;
        printf("%d ", n);
        a=b;
        b=n;
        i--;
        if (i == 0) {
            printf("\nChild ends\n");
    }
 }
}
    else
    {
    printf("Parent is waiting for child to complete...\n");
    waitpid(pid, NULL, 0);
    printf("Parent ends\n");
}
return 0;
}

1 Ответ

0 голосов
/ 27 сентября 2018

Перейдите в каталог включения MinGW, если вы используете Windows или GNU linux, и найдите файл, кстати, этот вопрос очень похож на этот: В Visual C ++ нет sys / wait.h

...