当我在Windows操作系统中的Code :: Blocks中运行代码时。 我曾经得到一个名为对fork()的未定义引用的错误。 我确实设置/选择GCC编译器作为我的默认编译器。
#include<stdio.h>
#include<unistd.h>
void main()
{
int x;
x = 0;
fork();
x = 1;
...
....
}
请帮帮我告诉我,我可以在Windows环境下的Code :: Blocks中使用unix / linux程序吗?
我写了另一个程序,
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()和/ *延迟的未定义引用* /。
请帮帮我。
答案 0 :(得分:9)
不,无论您使用什么IDE,都无法在Windows上编写Unix代码。但是,您应该尝试cygwin,这应该提供您需要的兼容性层。
2017年更新:这些天我们也有Windows Subsystem for Linux。
答案 1 :(得分:3)
Windows上没有fork
系统调用。
答案 2 :(得分:1)
fork()
是一个unix系统调用,因此在Windows操作系统中执行此操作时肯定会产生未定义的引用。 Windows不支持fork()
。
答案 3 :(得分:0)
答案 4 :(得分:0)
在Windows中没有fork()系统调用,而是可以尝试使用cygwin或pthreads。
答案 5 :(得分:0)
我对此也有些挣扎,请从https://www.cygwin.com/安装 Cygwin 确保从软件包窗口检查gcc-core和gcc-debug信息软件包。