您的位置:首页 > 文旅 > 旅游 > 微信公众号排行榜_千万别学服装设计_网站推广怎么做有效果_百度seo搜索营销新视角

微信公众号排行榜_千万别学服装设计_网站推广怎么做有效果_百度seo搜索营销新视角

2024/12/23 12:04:46 来源:https://blog.csdn.net/Edidaughter/article/details/143330958  浏览:    关键词:微信公众号排行榜_千万别学服装设计_网站推广怎么做有效果_百度seo搜索营销新视角
微信公众号排行榜_千万别学服装设计_网站推广怎么做有效果_百度seo搜索营销新视角

1.什么是clang-tidy

clang-tidy is a clang-based C++ “linter” tool. 
Its purpose is to provide an extensible framework for diagnosing 
and fixing typical programming errors, like style violations, 
interface misuse, or bugs that can be deduced via static analysis. 
clang-tidy is modular and provides a convenient interface for writing 
new checks.clang-tidy 是一个基于 clang 的 C++ 静态代码检查工具。其目的是提供一个可扩展的框架,
用于诊断和修复典型的编程错误,例如样式冲突、接口误用或可通过静态分析推断出的错误。
clang-tidy是模块化的,为编写新检查提供了方便的接口。

2.安装

待补充

3.使用clang-tidy

clang-tidy is a LibTooling-based tool, and it’s easier to work with if you set up a compile command database for your project (for an example of how to do this, see How To Setup Tooling For LLVM How To Setup Clang Tooling For LLVM — Clang 20.0.0git documentation). You can also specify compilation options on the command line after --:

$clang-tidy test.cpp -- -Imy_project/include -DMY_DEFINES ...

clang-tidy has its own checks and can also run Clang Static Analyzer checks. Each check has a name and the checks to run can be chosen using the -checks= option, which specifies a comma-separated list of positive and negative (prefixed with -) globs. Positive globs add subsets of checks, and negative globs remove them. For example, 

$clang-tidy test.cpp -checks=-*,clang-analyzer-*,-clang-analyzer-cplusplus*

Note:

This will disable all default checks (-*) and enable all clang-analyzer-* checks except for clang-analyzer-cplusplus* ones. 

The -list-checks option lists all the enabled checks. When used without -checks=, it shows checks enabled by default. Use -checks=* to see all available checks or with any other value of -checks= to see which checks are enabled by this value.

There are currently the following groups of checks:

Clang diagnostics are treated in a similar way as check diagnostics. Clang diagnostics are displayed by clang-tidy and can be filtered out using the -checks= option. However, the -checks= option does not affect compilation arguments, so it cannot turn on Clang warnings which are not already turned on in the build configuration. The -warnings-as-errors= option upgrades any warnings emitted under the -checks= flag to errors (but it does not enable any checks itself).

Clang diagnostics have check names starting with clang-diagnostic-. Diagnostics which have a corresponding warning option, are named clang-diagnostic-<warning-option>, e.g. Clang warning controlled by -Wliteral-conversion will be reported with check name clang-diagnostic-literal-conversion.

The -fix flag instructs clang-tidy to fix found errors if supported by corresponding checks.

An overview of all the command-line options:

root@ubuntu:/home/muten# clang-tidy --help
USAGE: clang-tidy [options] <source0> [... <sourceN>]OPTIONS:Generic Options:--help                          - Display available options (--help-hidden for more)--help-list                     - Display list of available options (--help-list-hidden for more)--version                       - Display the version of this programclang-tidy options:--checks=<string>               - Comma-separated list of globs with optional '-'prefix. Globs are processed in order ofappearance in the list. Globs without '-'prefix add checks with matching names to theset, globs with the '-' prefix remove checkswith matching names from the set of enabledchecks. This option's value is appended to thevalue of the 'Checks' option in .clang-tidyfile, if any.--config=<string>               - Specifies a configuration in YAML/JSON format:-config="{Checks: '*',CheckOptions: {x: y}}"When the value is empty, clang-tidy willattempt to find a file named .clang-tidy foreach source file in its parent directories.--config-file=<string>          - Specify the path of .clang-tidy or custom config file:e.g. --config-file=/some/path/myTidyConfigFileThis option internally works exactly the same way as--config option after reading specified config file.Use either --config-file or --config, not both.--dump-config                   - Dumps configuration in the YAML format tostdout. This option can be used along with afile name (and '--' if the file is outside of aproject with configured compilation database).The configuration used for this file will beprinted.Use along with -checks=* to includeconfiguration of all checks.--enable-check-profile          - Enable per-check timing profiles, and print areport to stderr.--enable-module-headers-parsing - Enables preprocessor-level module header parsingfor C++20 and above, empowering specific checksto detect macro definitions within modules. Thisfeature may cause performance and parsing issuesand is therefore considered experimental.--explain-config                - For each enabled check explains, where it isenabled, i.e. in clang-tidy binary, commandline or a specific configuration file.--export-fixes=<filename>       - YAML file to store suggested fixes in. Thestored fixes can be applied to the input sourcecode with clang-apply-replacements.--extra-arg=<string>            - Additional argument to append to the compiler command line--extra-arg-before=<string>     - Additional argument to prepend to the compiler command line--fix                           - Apply suggested fixes. Without -fix-errorsclang-tidy will bail out if any compilationerrors were found.--fix-errors                    - Apply suggested fixes even if compilationerrors were found. If compiler errors haveattached fix-its, clang-tidy will apply them aswell.--fix-notes                     - If a warning has no fix, but a single fix canbe found through an associated diagnostic note,apply the fix.Specifying this flag will implicitly enable the'--fix' flag.--format-style=<string>         - Style for formatting code around applied fixes:- 'none' (default) turns off formatting- 'file' (literally 'file', not a placeholder)uses .clang-format file in the closest parentdirectory- '{ <json> }' specifies options inline, e.g.-format-style='{BasedOnStyle: llvm, IndentWidth: 8}'- 'llvm', 'google', 'webkit', 'mozilla'See clang-format documentation for the up-to-dateinformation about formatting styles and options.This option overrides the 'FormatStyle` option in.clang-tidy file, if any.--header-filter=<string>        - Regular expression matching the names of theheaders to output diagnostics from. Diagnosticsfrom the main file of each translation unit arealways displayed.Can be used together with -line-filter.This option overrides the 'HeaderFilterRegex'option in .clang-tidy file, if any.--line-filter=<string>          - List of files with line ranges to filter thewarnings. Can be used together with-header-filter. The format of the list is aJSON array of objects:[{"name":"file1.cpp","lines":[[1,3],[5,7]]},{"name":"file2.h"}]--list-checks                   - List all enabled checks and exit. Use with-checks=* to list all available checks.--load=<pluginfilename>         - Load the specified plugin-p <string>                     - Build path--quiet                         - Run clang-tidy in quiet mode. This suppressesprinting statistics about ignored warnings andwarnings treated as errors if the respectiveoptions are specified.--store-check-profile=<prefix>  - By default reports are printed in tabulatedformat to stderr. When this option is passed,these per-TU profiles are instead stored as JSON.--system-headers                - Display the errors from system headers.This option overrides the 'SystemHeaders' optionin .clang-tidy file, if any.--use-color                     - Use colors in diagnostics. If not set, colorswill be used if the terminal connected tostandard output supports colors.This option overrides the 'UseColor' option in.clang-tidy file, if any.--verify-config                 - Check the config files to ensure each check andoption is recognized.--vfsoverlay=<filename>         - Overlay the virtual filesystem described by fileover the real file system.--warnings-as-errors=<string>   - Upgrades warnings to errors. Same format as'-checks'.This option's value is appended to the value ofthe 'WarningsAsErrors' option in .clang-tidyfile, if any.-p <build-path> is used to read a compile command database.For example, it can be a CMake build directory in which a file namedcompile_commands.json exists (use -DCMAKE_EXPORT_COMPILE_COMMANDS=ONCMake option to get this output). When no build path is specified,a search for compile_commands.json will be attempted through allparent paths of the first input file . See:https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for anexample of setting up Clang Tooling on a source tree.<source0> ... specify the paths of source files. These paths arelooked up in the compile command database. If the path of a file isabsolute, it needs to point into CMake's source tree. If the path isrelative, the current working directory needs to be in the CMakesource tree and the file must be in a subdirectory of the currentworking directory. "./" prefixes in the relative files will beautomatically removed, but the rest of a relative path must be asuffix of a path in the compile command database.Configuration files:clang-tidy attempts to read configuration for each source file from a.clang-tidy file located in the closest parent directory of the sourcefile. The .clang-tidy file is specified in YAML format. If any configurationoptions have a corresponding command-line option, command-line option takesprecedence.The following configuration options may be used in a .clang-tidy file:CheckOptions                 - List of key-value pairs defining check-specificoptions. Example:CheckOptions:some-check.SomeOption: 'some value'Checks                       - Same as '--checks'. Additionally, the list ofglobs can be specified as a list instead of astring.ExtraArgs                    - Same as '--extra-args'.ExtraArgsBefore              - Same as '--extra-args-before'.FormatStyle                  - Same as '--format-style'.HeaderFileExtensions         - File extensions to consider to determine if agiven diagnostic is located in a header file.HeaderFilterRegex            - Same as '--header-filter-regex'.ImplementationFileExtensions - File extensions to consider to determine if agiven diagnostic is located in animplementation file.InheritParentConfig          - If this option is true in a config file, theconfiguration file in the parent directory(if any exists) will be taken and the currentconfig file will be applied on top of theparent one.SystemHeaders                - Same as '--system-headers'.UseColor                     - Same as '--use-color'.User                         - Specifies the name or e-mail of the userrunning clang-tidy. This option is used, forexample, to place the correct user name inTODO() comments in the relevant check.WarningsAsErrors             - Same as '--warnings-as-errors'.The effective configuration can be inspected using --dump-config:$ clang-tidy --dump-config---Checks:                       '-*,some-check'WarningsAsErrors:             ''HeaderFileExtensions:         ['', 'h','hh','hpp','hxx']ImplementationFileExtensions: ['c','cc','cpp','cxx']HeaderFilterRegex:            ''FormatStyle:                  noneInheritParentConfig:          trueUser:                         userCheckOptions:some-check.SomeOption: 'some value'...root@ubuntu:/home/muten# 

链接:

Clang-Tidy — 额外的 Clang 工具 20.0.0git 文档 --- Clang-Tidy — Extra Clang Tools 20.0.0git documentation

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com