所以,我正在用C编写一些网络编程,看起来我错过了一堆标准的C / C ++头文件。例如,sys/socket.h
不存在。其中一些缺失也是netdb.h
和unistd.h
。我需要安装一个包才能在Windows上安装这些包吗?
由于
答案 0 :(得分:4)
这些都不是标准的c或c ++标题。在Windows上,套接字定义在winsock2.h中
答案 1 :(得分:4)
所有这些标头都来自POSIX,而不是ANSI C或ISO C ++。如果没有安装某种兼容层(如Cygwin)或将应用程序移植到Windows API,或者使用一些宏和包装器来映射类似的函数(即#define strtok_r strtok_s
),您将无法在Windows中找到它们。
答案 2 :(得分:1)
你可能找不到它,因为它是一个常用的linux头文件。你可以在linux-libc-dev中找到它,如果你真的想要的话。
答案 3 :(得分:1)
正如其他人所说,你正在使用Socket的POSIX标题和定义。查看MSDN以获取在Windows上定义的标头和结构:http://msdn.microsoft.com/en-us/library/ms740506.aspx。调用几乎相同,但这将为您提供所有特定于Microsoft的语法。