portability-restrict-system-includes

检查以选择性地允许或禁止可配置的系统头文件列表。

例如

为了允许系统中的 zlib.h,您将选项设置为 -*,zlib.h

#include <curses.h>       // Bad: disallowed system header.
#include <openssl/ssl.h>  // Bad: disallowed system header.
#include <zlib.h>         // Good: allowed system header.
#include "src/myfile.h"   // Good: non-system header always allowed.

为了允许系统中的所有内容 zlib.h 之外,您将选项设置为 *,-zlib.h

#include <curses.h>       // Good: allowed system header.
#include <openssl/ssl.h>  // Good: allowed system header.
#include <zlib.h>         // Bad: disallowed system header.
#include "src/myfile.h"   // Good: non-system header always allowed.

由于选项支持通配符,因此您可以使用通配符来允许组头文件。

-*,openssl/*.h 将允许所有 openssl 头文件,但禁止任何其他头文件。

#include <curses.h>       // Bad: disallowed system header.
#include <openssl/ssl.h>  // Good: allowed system header.
#include <openssl/rsa.h>  // Good: allowed system header.
#include <zlib.h>         // Bad: disallowed system header.
#include "src/myfile.h"   // Good: non-system header always allowed.

选项

Includes

一个包含允许的包含文件名逗号分隔的通配符列表的字符串。类似于运行 clang-tidy 本身的 -checks 通配符列表,两个通配符字符是 *-,分别用于包含和排除通配符。默认值为 *,它允许所有包含。