看看NS_INLINE
的定义,似乎使用它的优势在于编译器的兼容性,是否正确?应该使用NS_INLINE
而不是static inline
在Objective-C项目的c函数中使用吗?NS_INLINE比静态内联有什么优势?
#if !defined(NS_INLINE)
#if defined(__GNUC__)
#define NS_INLINE static __inline__ __attribute__((always_inline))
#elif defined(__MWERKS__) || defined(__cplusplus)
#define NS_INLINE static inline
#elif defined(_MSC_VER)
#define NS_INLINE static __inline
#elif TARGET_OS_WIN32
#define NS_INLINE static __inline__
#endif
#endif
如果代码是针对其他人使用的库,那么您会推荐使用'NS_INLINE'吗? – keegan3d 2012-04-21 20:22:44
它会在除Apple之外的平台上使用吗?用GnuStep之类的?如果不是,那么不。对于Mac OS X或iOS进行开发将无法与“静态内联”兼容,几乎没有机会。 – 2012-04-21 20:29:11