DSP 的 sizeof()
终于让我逮到领导的小尾巴,由于 DSP 的架构和 ARM 不同,DSP 的字节(byte)就是 16 位的,这导致结构体相关的对齐情况以及 sizeof() 的结果不同。
另外坚决反对 memset() 以及 memcpy() 这类标准库函数的他,坚持要手动循环进行批量操作。为了降低成本将软件在移植到 ARM 芯片平台上时产生问题。这个问题甚至 AC6 编译器不会出现( Os ),在 GCC 开 Os 优化时会展现出来。
如果老老实实用 sizeof() memset() 这样的标准库组合则不会产生这样的问题,因为他们都是以字节(byte)为参考单元的。给公司当奴隶的项目中要求还是没有用,不过我自己的开源库都是很审慎地使用了,其实会使软件库的兼容性增强。