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;

}

 

这样,在代码的移植过程中可以避免很多可能出现的问题。