最近在移植UIP到一颗16bit IC,由于这颗IC 只能按word存取,所以对应编译器也会讲你定义的byte类型变量实际为word存储,由此带来一些问题,如checksum计算不正确,计数变量超过0xFF等等。
请教各位大虾能否提供一个比较妥善的解决方式呢?
从来没见过这种cpu,看来我实在太孤陋寡闻了。
既然所有的都是16位,怎么会出现错误呢?1还是1,100还是100,并不会1变成,100变成200呀。
这个cpu对char类型就不支持了吧?它的int应该是16bit的吧?果然罕见。这得浪费多少内存呀……
没错,这颗IC确实是不支持char类型,int型也是16bit的 内存确实有点浪费但是某些时候,效率还是比较高的。
目前已经移植成功了,做法就是将byte扩展成word,但除此外似乎没有更好的方法