__clang_analyzer__的重要性

时间:2012-05-07 19:44:13

标签: iphone objective-c ios xcode cocoa-touch

clang_analyzer 的重要性是什么,因为没有使用这个,我看到分析师在下面的代码中喊出泄密。

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

1 个答案:

答案 0 :(得分:4)

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

当它被定义时,#ifndef#endif之间的代码没有被编译,这意味着分析器没有看到它,也无法告诉你所拥有的CGMutablePath你从一个名称没有表明它返回一个拥有引用的函数返回。

您应该考虑将create添加到函数名称的开头。