Неопределенная ссылка на fork () в редакторе Code :: Blocks в ОС Windows - PullRequest
9 голосов
/ 11 января 2012

Когда я запускаю приведенный ниже код в Code :: Blocks в ОС Windows.Раньше я получал ошибку, называемую неопределенной ссылкой на fork ().Я установил / выбрал компилятор GCC в качестве компилятора по умолчанию.

#include<stdio.h>       
#include<unistd.h>          
void main()          
{       
 int x;       
 x = 0;       
 fork();       
 x = 1;        
 ...     
 ....    
}

Пожалуйста, помогите мне и скажите, могу ли я исправить программы unix / linux в Code :: Blocks в среде Windows?И я пишу другую программу,

main()
{
int x = 0;
if(x == 0)
{
printf("X = %d", x);
sleep(1000);//used delay also
x = 1;
printf("Now X = %d", x);;
}

Здесь она дает eroor эту неопределенную ссылку на sleep () и / * delay также * /.
Пожалуйста, помогите мне.

Ответы [ 5 ]

9 голосов
/ 11 января 2012

Нет, вы не можете писать код Unix для Windows подобным образом, независимо от того, какую IDE вы используете.Однако вам следует попробовать cygwin , и это обеспечит необходимый уровень совместимости.

2017 обновление: в эти дни у нас также есть Подсистема Windows для Linux .

3 голосов
/ 11 января 2012

В Windows нет системного вызова fork.

1 голос
/ 11 января 2012

fork() - это системный вызов unix, поэтому он определенно выдаст неопределенную ссылку, когда вы сделаете это в Windows OS.Windows не поддерживает fork().

0 голосов
/ 22 февраля 2014

В Windows нет системного вызова fork (), вместо этого вы можете попробовать cygwin или pthreads.

0 голосов
/ 11 января 2012

Вы пытаетесь использовать cygwin Также я не уверен, но есть такой эквивалент, называемый системным вызовом spawn () в среде ms-dos. Вы можете попробовать использовать это.

...