在vs2019运行unistd.h内置函数出问题
c语言吧
全部回复
仅看楼主
level 1
ლ清影 楼主
最近打算做一做mit的6.S081的几个labs。给vs2019装了unistd这个头文件后,依然用不了pipe(),fork()等函数。改为相应的_pipe()还是运行出错 有无大佬能指导一番😡并且我这个代码最后要放在xv6的环境下编译运行,改为了_pipe()怕是运行不了
2023年01月10日 03点01分 1
吧务
level 14
什么叫“装了”unistd.h头文件?
unistd是unix系统的头文件,而vs2019是Windows上的IDE,这是两个完全不同的操作系统,unistd只是unix操作系统暴露给c的接口,只复制一个头文件能解决什么问题呢?还是说你用的WSL或者远程linux?
2023年01月10日 04点01分 2
vs里面可以用_pipe()函数,而且我看它是2012版的才停止对pipe()的使用,所以才以为有什么方法可以解决这个问题[泪]
2023年01月10日 04点01分
@ლ清影 Windows和unix是两个不同的操作系统,就像火车和汽车是不同的车,你不能铁轨上开汽车,即使把火车轮子移植到汽车上也不行。Windows上的_pipe()是Win32 API对POSIX pipe()的实现,而Windows内核根本不使用fork()机制来生成子进程。你明白什么是操作系统吗?
2023年01月10日 04点01分
@GTA小鸡 哦哦,怪不得vs用fork()也会报错
2023年01月10日 05点01分
level 12
用wsl做
2023年01月10日 04点01分 3
已经装Ubuntu了,在上面搞个IDE更方便吧,老哥你有啥推荐的IDE吗
2023年01月10日 05点01分
level 4
vs可以远程连接linux系统,代码在windows写,编译,调试,程序在linux上跑
2023年01月10日 07点01分 4
vs远程连接的时候用户名和密码都输对了,但是总是在那两行跳出红框导致连接失败咋回事啊[小乖]
2023年01月10日 10点01分
没问题了,我还以为进入vmware后左侧“我的计算机”显示的就是用户名
2023年01月10日 10点01分
level 11
开个虚拟机在Linux上做
2023年01月10日 07点01分 5
在搞了,多谢大佬[真棒]
2023年01月10日 10点01分
level 1
在Windows上,MinGW才有unistd.h
2023年01月10日 11点01分 6
1