IWYU 0.21

IWYU(或 include-what-you-use)是一款可以查找 C/C++ 代码中冗余的 #include 并建议缺少的 #include 的程序,现已发布。

“包含你所使用的内容”意味着:对于 foo.cc 中使用的每个符号(类型、变量、函数或宏),foo.cc 或 foo.h 都必须包含导出该符号声明的 .h 文件。“包含你所使用的内容”工具是一个程序,它会分析源文件中的 #include 指令,查找违反此原则的情况并提出修复建议。该工具使用 Clang 库,其发布通常意味着与新版本的 Clang 兼容。

include-what-you-use 的主要目标是移除不必要的 #include 指令。为此,你需要识别给定文件(包括 .cc 和 .h 文件)中哪些 #include 指令是不必要的,并尽可能将其替换为前向声明。

主要变化

  • 兼容 Clang 17。
  • 改进了类型别名(typedef 和 using)的分析。
  • 改进了命名空间别名的解析(命名空间 xyz = foobar)。
  • 改进了对扩展前向声明(typedef struct Foo Bar;)的支持。
  • 改进对自动类型转换和函数返回类型的处理,尤其是在处理复杂模板类型时。
  • 添加了一个新的 IWYU:always_keep pragma,用于标记一个标头,以便无论它被包含在哪里,都应该始终保留它。
  • 如果 libc++ 是当前使用的标准库,则自动使用 libc++ 内置函数的映射。
  • 改进了 libc++ 和 posix 头文件的映射。

来源: linux.org.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster