在嵌入式的编码中经常看到给变量类型取别名的代码。
类似:
typedef int INT32;
INT32 a;
定义了一个int型变量a,但是为什么要这样对变量a进行定义,为什么要给int取一个别名?
这样做可以提高程序的可移植性,比如某一微处理器的int类型变量是16位,long是32位,现在要把程序从这一微处理器移植到另一体系结构的微处理器,而这一体系的微处理器int变量市32为,long是64位,只有short才是16位,因此要将程序中的int全部替换为short,long全部替换为int,不仅修改工作量巨大且容易出错。
此时若在程序中全部用新取的名称,则只需要修改定义的这些新名称。
此时将:
typedef int INT16;
typedef long INT32;
替换成:
typedef short INT16;
typedef int INT32;