将头文件与编译器/语言标准/ os / glibc区分开来

时间:2013-12-09 08:00:59

标签: c++ c linux clang

/usr/include中有很多头文件,其他地方也有。

有些标题来自C语言标准,例如stdint.h。一些来自编译器,一些来自glibc。

我应该如何区分它们,因为确定它们的前因可以帮助我推理/理解某些事情......

1 个答案:

答案 0 :(得分:1)

你会发现一些常见的模式:

  • bits / - 实现细节,你不应该直接使用这些
  • linux / - 特定于操作系统的东西,偶尔可能需要
  • netinet / - “互联网”的东西,IPv4,TCP(IPv6在netinet6 /某些系统上)
  • gcc / - 很明显,通常你不会去这里
  • c ++ / - 很明显,通常你的C ++编译器默认包括这个,所以你可以隐式使用它
  • / usr / local / include / - 管理员在您的系统上安装的内容,即发行版本身没有提供或通过其包管理器提供
  • foo / - 通常一个特定的“foo”库(又名libfoo)会把它放在/ usr / include /