14.11 移植问题
当对源代码使用不同的编译器时,可能会出现一些移植上的问题,这时可以宏将一些ARM特有的关键字“打包”。例如:
#ifdef __arm
# define INLINE __inline
# define VALUE_IN_REGS __value_in_regs
# define PURE __pure
#else
# define INLINE
# define VALUE_IN_REGS
# define PURE
#endif
这样在使用是可以直接使用INLINE、VALUE_IN_REGS等关键字,例如,
INLINE int square(int x) {
return x*x;
}
这样,在代码的移植过程中可以避免很多可能出现的问题。