【问题标题】:Downloading Header Files下载头文件
【发布时间】:2011-05-22 05:35:04
【问题描述】:

在哪里可以下载 dev c 的以下头文件

sys/types.h 系统/socket.h 网路/in.h arpa/inet.h

还有结构

sockadder 及其衍生产品?

【问题讨论】:

  • 适用于哪个实现? Linux、MSVC、FreeBSD、Solaris 都有自己的版本...
  • 看来你正在学习 Unix 套接字编程。如果我没记错的话,这些是伯克利插座的一部分。不知道你会从哪里得到它们。在 Linux 中,应该是某个包的一部分。不知道 Windows。
  • 如果你在 *nix 机器上,他们可能生活在/usr/include/

标签: c


【解决方案1】:

我不知道您为什么需要下载这些特定文件,因为在大多数现代系统中它们应该随您的编译器套件一起提供。

您还应该记住,它们可能会因您的平台而完全不同,并且这些文件通常#include 其他非标准文件(#include 其他等等)。这可能会使这些文件非常难以解析和理解。

也就是说,来自一些不确定的 Linux 版本:

http://linux.die.net/include/sys/types.h

http://linux.die.net/include/sys/socket.h

http://linux.die.net/include/netinet/in.h

http://linux.die.net/include/arpa/inet.h

如果您要替换丢失的文件,请考虑获取/重新安装适当的编译器套件以及您丢失的任何开发人员包。

如果您想查看结构定义,您绝对应该查看文档而不是实际的实现。这样你就可以避免将你的代码绑定到私有定义等。这可以在系统之间改变。

编辑:

只是为了确认我上面的一些 cmets,struct sockaddr 对于所说的 Linux 版本是逐个定义的:

http://linux.die.net/include/bits/socket.h

http://linux.die.net/include/bits/sockaddr.h

【讨论】:

    【解决方案2】:

    您使用的是什么 SDK?对于 Linux,您可以将这些文件作为核心 C sdk 的一部分。对于 Windows,它也带有 SDK。如果您只想快速而肮脏地查看 一些 头文件,我使用http://www.google.com/codesearch

    【讨论】:

      【解决方案3】:

      那些头文件(不是头文件)是实现的一部分。它们不必是真实文件。

      如果您的实现没有提供它们,那么您就不走运了。

      如果您的实现将它们作为真实文件提供并且您删除了它们,则重新安装编译器可能会起作用。

      如果您的实现将它们作为真实文件提供并且您无法重新安装编译器,您的方法可能会奏效。抱歉,我不知道从哪里下载文件 --- 或者为什么有人会首先将文件复制到某个地方。

      【讨论】:

      • “头文件”完全没问题。 googlefight.com/… - “它们不必是真实文件”是什么意思?
      • @Roddy:googlefight 没有任何意义。检查 C 标准中的 6.4.7 (open-std.org/JTC1/sc22/wg14/www/standards) --- PDF (open-std.org/JTC1/sc22/wg14/www/docs/n1256.pdf)
      • headers<> 之间移动; 头文件""之间。 headers 由实现提供; 头文件由程序员提供。 headers 可以是二进制编译器的一部分,或者它们的信息可以被编译器知道而无需任何其他支持。
      • 感谢您的解释。我现在明白了区别。但是,他列出的文件没有被描述为 /standard/ 头文件,所以同样可以是头文件吗?而且,是否存在标头不是真实文件的实际实现?
      • @Roddy:你是对的。我看到 sys/socket.h 并立即想象周围的<>。如果它们是普通的常规头文件,它们应该能够在每个编译器系统上下载和使用(与相应的实现文件一起)。但是,为什么有人会只要求头文件呢?他们需要头文件和代码文件。
      【解决方案4】:

      我假设您正在尝试在另一个平台(例如 Windows)下为 *nix 平台编译源代码。这种方法对你没有任何好处。请记住,您将需要这些标头的库,并且它们不可移植。

      在您的 PC 上安装带有 Ubuntu 的虚拟机来进行这种开发。

      【讨论】:

        【解决方案5】:
        do:
        apt-get install gcc-4.2
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-28
          • 1970-01-01
          • 2012-03-04
          • 1970-01-01
          • 2023-04-01
          • 1970-01-01
          相关资源
          最近更新 更多