【问题标题】:C++ - include unistd.h: why not cunistd?C++ - 包括 unistd.h:为什么不 cunistd?
【发布时间】:2013-03-11 05:09:48
【问题描述】:

据说在C++中包含C头文件时,要去掉“.h”后缀,然后在开头加上“c”。例如,#include <cstdio> 而不是 #include <stdio.h>。但是当我在代码中使用sleep() 时,#include <cunistd> 不起作用,但#include <unistd.h> 起作用。为什么不<cunistd>

【问题讨论】:

    标签: c++ c


    【解决方案1】:

    您的算法对于大多数(全部?)标准 C 标头都是正确的,但 unistd.h 不是标准 C 的一部分,因此标准 C++ 又不将其包含在其他 c... 标头中。

    【讨论】:

      【解决方案2】:

      因为unistd.h 从来都不是 C 语言的一部分。它是操作系统的一部分。

      【讨论】:

        【解决方案3】:

        <unistd.h>,代表unix标准头,名字就说明了一切。

        【讨论】:

        • ...名字就是这么说的!
        • unistd 也可以代表“通用标准标题”(我意识到这听起来有点荒谬)。关键是,他们应该将其命名为 unixstd.h - 只需添加 一个 字符即可立即清晰。
        【解决方案4】:

        unistd.h 不是标准 C 的一部分。 标准 C++ 库不包含在其他 c 头文件中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-08-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-25
          • 2016-04-13
          • 2021-11-20
          相关资源
          最近更新 更多