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/