clang_analyzer 的重要性是什么,因为如果不使用它,我会看到分析器在下面的代码中大声泄漏。

#ifndef __clang_analyzer__
CGPathRef pathWithRoundRect(CGRect iRect, CGFloat iRadius) {
    CGMutablePathRef returnVal = CGPathCreateMutable();
    CGPathMoveToPoint();
    CGPathAddArcToPoint();
    CGPathAddArcToPoint();
    CGPathAddArcToPoint();
    CGPathAddArcToPoint();
    CGPathCloseSubpath(returnVal);
    return returnVal;
}
#endif

最佳答案

__clang_analyzer__是一个宏,在为分析器编译程序时定义(请参阅Clang User's Manual)。

定义后,不会编译#ifndef#endif之间的代码,这意味着分析器看不到它,也无法告诉您从名称未指示的函数返回的拥有的CGMutablePath它返回一个拥有的引用。

您应该考虑在函数名称的开头添加create

关于iphone - __clang_analyzer__的重要性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10488100/

10-10 21:33