【问题标题】:Xcode Build and Analyze - Is it possible to purposely skip analysis on a particular file?Xcode Build and Analyze - 是否可以故意跳过对特定文件的分析?
【发布时间】:2011-06-03 00:22:00
【问题描述】:

我的项目中有一个特定文件正在由其他人处理。我不想弄乱它,也不想等待“构建和分析”来处理它。有没有办法告诉 Xcode 跳过对该文件的分析?

【问题讨论】:

  • 您使用哪种源代码控制必须等待对另一个文件进行编辑才能进行构建?
  • 我不等……这就是我的意思。构建和分析需要永远处理我现在不关心的一个文件,所以我只想在处理自己的文件时跳过它。
  • 这个问题在考虑大量第三方源文件时特别相关,这些文件通常可以包含在你的源代码树中,但你知道你永远不会改变(我在看你 sqlite3.c)。

标签: xcode static-analysis


【解决方案1】:

如果可以编辑文件,则有一个蛮力选项。

将此添加到文件的开头:

// Omit from static analysis.
#ifndef __clang_analyzer__

添加到最后:

#endif // not __clang_analyzer__

clang 分析器不会看到文件的内容。

参考:Controlling Static Analyzer Diagnostics

【讨论】:

    【解决方案2】:

    与此答案相同的想法仅用于分析-> Ignore all warnings in a specific file using LLVM/Clang

    您可以在项目设置的“构建阶段”选项卡中包含“编译源”参数,以忽略分析器中的特定文件。以下是一些说明:

    1. 为您要更改的项目选择目标。
    2. 选择构建阶段选项卡。
    3. 展开“编译源”菜单。
    4. 找到要编辑的文件。
    5. 双击其“编译器标志”单元格以更改参数。
    6. 为 Xcode 10 及更高版本添加 -Xanalyzer -analyzer-disable-checker-Xanalyzer -analyzer-disable-all-checks
    7. 如果 Xcode 抱怨在常规编译期间未使用 -Xanalyzer 并且您希望保持构建干净,也可以选择添加 -Wno-unused-command-line-argument

    注意:添加 -w 也会禁用特定文件的警告。

    【讨论】:

    • 该命令似乎是 Xcode 10 的 -Xanalyzer -analyzer-disable-all-checks
    • 谢谢@Kentzo。这就是我一直在寻找的。​​span>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 2011-02-15
    • 2016-09-10
    • 2020-05-02
    • 2012-11-28
    相关资源
    最近更新 更多