14.11 移植問題
當(dāng)對(duì)源代碼使用不同的編譯器時(shí),可能會(huì)出現(xiàn)一些移植上的問題,這時(shí)可以宏將一些ARM特有的關(guān)鍵字“打包”。例如:
#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等關(guān)鍵字,例如,
INLINE int square(int x) {
return x*x;
}
這樣,在代碼的移植過程中可以避免很多可能出現(xiàn)的問題。