【问题标题】:C++ - Include all sys headers?C++ - 包括所有 sys 头文件?
【发布时间】:2014-03-26 22:44:24
【问题描述】:

我知道您可以包含来自sys 的特定头文件,例如#include <sys/stat.h>,但我可以包含来自sys所有头文件吗?

如果这是不可能的,有人可以指出这个文件夹的位置吗?

【问题讨论】:

  • 不,你不能这样做。
  • @MichaelWalz 我希望有一种比包含 300 多个文件更简单的方法... sigh
  • 你真的需要包含 sys 的所有文件吗?这是一个很奇怪的想法。
  • 你真的不应该单独包含所有文件......也许你应该告诉我们你实际上想要做什么。 (见:meta.stackexchange.com/questions/66377/what-is-the-xy-problem
  • 你真的应该把它作为一个单独的问题发布,但考虑考虑做#include <sys/syscall.h>(见man 2 syscall)。

标签: c++ c system system-calls


【解决方案1】:

您必须单独包含所有必需的标题。作为解决方法,您可以创建头文件(例如 all_sys.h)并将 sys 中的所有必要头文件放入其中。

头文件位置取决于系统/编译器。在我的系统上,它位于/usr/include/sys 如果您不确定位置,您可以查看宏处理器的输出。要获得它,您应该使用-E 选项(linux/gcc),例如:

$ g++ main.cpp -E | less

请注意,如果您“以防万一”包含冗余标头,则会不必要地增加编译时间

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-16
    • 2012-02-12
    • 2020-03-11
    • 2012-02-11
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多