xcode – 深静态分析与浅静态分析有什么区别?
2019年06月11日
作者:佚名
浅层和深层静态分析有什么区别?我现在正在使用
Xcode,并注意到有一个构建设置区分了两者.
在一般情况下我对此很好奇,我也想知道Clang如何实现这种区别有什么不同.
我尝试了一些Google-foo,我找不到答案.我尝试通过Apple和Clang文档来看看他们是否解释了但我没有找到任何东西.希望我没有错过一个明显的石头推翻我的搜索.
解决方法
(1)
来自苹果公司的Evan Cheng(编译技术)的 talk给出了一个指示(见第157/158页):
来自苹果公司的Evan Cheng(编译技术)的 talk给出了一个指示(见第157/158页):
>浅 – 快速分析
>深入 – 更彻底的分析
建议:始终以深度模式进行分析,作为资格认证的一部分
(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 – 深静态分析与浅静态分析有什么区别?全部内容,希望文章能够帮你解决xcode – 深静态分析与浅静态分析有什么区别?所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。