gpt4 book ai didi

xcode - 深层静态分析和浅层静态分析有什么区别?

转载 作者:行者123 更新时间:2023-12-04 20:39:20 24 4
gpt4 key购买 nike

浅层静态分析和深层静态分析有什么区别?我目前正在使用 Xcode,并注意到有一个build设置可以区分两者。

在一般情况下,我对此很好奇,我也想知道 Clang 如何实现这种区别是否有任何不同。

我尝试了一些 Google-foo,但找不到答案。我尝试浏览 Apple 和 Clang 文档,看看他们是否对此进行了解释,但我什么也没找到。希望我在搜索时没有错过一块明显的石头。

Xcode screenshot of the deep & shallow static analysis options

最佳答案

(1)
talk来自苹果的 Evan Cheng(编译技术)给出了一个指示(见第 157/158 页):

  • 浅——快速分析
  • 深入——更彻底的分析

  • 推荐: Always analyze in deep mode as part of qualifications
    (2)
    您可以在 analyzerOptions 的源代码中找到更多详细信息
    有 UserModeKind 变量:
    00184   /// \brief Describes the kinds for high-level analyzer mode.
    00185 enum UserModeKind {
    00186 UMK_NotSet = 0,
    00187 /// Perform shallow but fast analyzes.
    00188 UMK_Shallow = 1,
    00189 /// Perform deep analyzes.
    00190 UMK_Deep = 2
    00191 };
    00192
    00193 /// Controls the high-level analyzer mode, which influences the default
    00194 /// settings for some of the lower-level config options (such as IPAMode).
    00195 /// \sa getUserMode
    00196 UserModeKind UserMode;
    00197
    00198 /// Controls the mode of inter-procedural analysis.
    00199 IPAKind IPAMode;

    无需深入研究代码,您就会发现一个区别是(耗时的)过程间分析的停用......

    关于xcode - 深层静态分析和浅层静态分析有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29635938/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com