Undefined reference to fork() in Code::Blocks editor in Windows OS

主宰稳场 提交于 2019-12-10 02:41:55

问题


When I am running below code in Code::Blocks in Windows OS. I used to get an error called undefined reference to fork(). I did set/choose GCC compiler as my default compiler.

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

Please help me and tell me, can I right unix/linux programs in Code::Blocks in windows environment?

And I write another program,

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

Here it gives eroor that undefined reference to sleep() and / * delay also* /.
Please help me.


回答1:


No, you can't write Unix code on Windows like that, no matter what IDE you use. However, you should try cygwin, and that should provide the compatibility layer you need.

2017 update: These days we also have Windows Subsystem for Linux.




回答2:


There is no fork system call on Windows.




回答3:


fork() is a unix system call, so it will definitely produce an undefined reference when you do this in windows OS. Windows does not support fork().




回答4:


You try using cygwin Also I am not sure, but there's this equivalent called system call spawn() in ms-dos environment. you may try using that.




回答5:


There is no fork() system call in windows, instead you can try cygwin or pthreads.



来源:https://stackoverflow.com/questions/8819673/undefined-reference-to-fork-in-codeblocks-editor-in-windows-os

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!