【发布时间】:2011-10-19 03:57:17
【问题描述】:
我的项目中有一个紧密的内部循环,它调用了一些辅助函数。为了获得最佳性能,这些简单的函数声明为:
BOOL isValidPoint(CGPoint point) __attribute__((always_inline));
在我的 ImageCommon.h 文件中,并实现为:
inline BOOL isValidPoint(CGPoint point);
在 ImageCommon.m 中。换句话说,我总是希望这些函数内联。
如果我从 ImageCommon.m 中的其他函数调用 isValidPoint,反汇编输出确认对 isValidPoint 的函数调用已被清除。但是,如果我从另一个源文件调用此函数,则该函数调用将保留在原处 - 它不是内联的。
是否可以内联在一个实现文件中调用但在另一个实现文件中定义的函数?
【问题讨论】:
标签: objective-c c gcc inline