评价下面的代码片断:
unsigned int zero = 0;
unsigned int compzero = 0xFFFF;
从表面上来看,这段代码写的没有任何的错误,这是因为在好多人的眼里int型只占两个字节,但是在不是16位的处理器上的时候,这段代码就不正确了!
应该这么写:
unsigned int compzero = ~0;
其实对于一个好的程序员,一个好的嵌入式程序员来讲,应该熟悉每个处理器的字长,好的嵌入式程序员非常准确地明白硬件的细节和它的局限!
我觉得:要写代码就写规范的代码,要写代码就要写可移植性强的代码。