【问题标题】:Error including socket libraries in C在 C 中包含套接字库时出错
【发布时间】:2011-05-26 21:05:29
【问题描述】:

我找到了大量指南来帮助我进行套接字编程,但是我对 C 语言非常是新手,当我尝试执行该程序时,它会出现错误

#include <sys/socket.h>
#include <netinet/in.h>

这是为什么?我正在使用 Eclipse 来执行此操作。它不会编译并说“这个项目中存在错误,你想继续吗”

并突出显示这两行,很明显它没有要包含的文件..不知道如何整理它们..

向导:http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#datagram

编辑:在 wnidows 机器上编码,但必须在 windows 机器和不同风格的 linux 上工作/运行

【问题讨论】:

  • 什么平台?此外,包含通常是这样的:#include &lt;sys/socket.h&gt;
  • 你在include这个词前面用#了吗?
  • 我认为这里的反对票有点苛刻。
  • 问题是,您使用的是 Unix-y 系统,如 Linux 或 Mac OSX,还是使用 Windows?

标签: c


【解决方案1】:

您需要在包含文件周围包含 "" 或 。您还需要一个 # 符号。

例如:

#include <sys/socket.h>    
#include <netinet/in.h>

【讨论】:

  • 是的,他们就是这样——我和编辑有过交集
  • 点击问题下方的“编辑”按钮并进行更改。此外,还值得添加错误消息,以便我们提供帮助。
【解决方案2】:

这些头文件可在 FreeBSD、Mac OSX 和 linux 等 unixy 操作系统上使用。由于您现在使用的是 Windows,因此您必须使用 winsock,它是 Windows 自己的 BSD 套接字 API 实现,具有不同的标头和一些稍微不同的函数名称。

这在 Beej 指南的一节中有详细说明:http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html#windows

他还提到安装 cygwin,这将允许您使用您现在正在使用的标头,但我不确定这是否适合您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多