我已经从 linux 计算机换成了 windows,但我在编译代码时遇到了问题,因为这两个操作系统不共享相同的头文件。
由于显然没有包含unistd.h,Visual C不知道什么是read()
, write()
, close()
、socklen_t()
和 bzero()
函数是。谁能帮我解决这个问题?
我用谷歌搜索了这个:Is there a replacement for unistd.h for Windows (Visual C)?
我不知道 unistd.h 是如何工作的,也不知道如何编写自己的代码。有人可以给我链接吗?
最佳答案
read
, write
和 close
在<io.h>
,就像他们传统上在 Unix 上一样。
顺便说一句,我不知道 bzero
完全包含在 Windows 中——如果您非常关心可移植性,您通常希望使用 memset
反而。
socklen_t
通常不在 Windows 上使用——大多数是 socklen_t
在 Unix 上使用 size_t
或 int
在 Windows 上(socklen_t
在 Unix 上目前是对与 size_t
相同的底层类型的另一个引用,添加它以防有一天它可能有用——也就是寻找问题的解决方案)。
关于c - write函数在Unix上需要unistd.h,windows呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5684679/