你好:
我使用的是6713的处理器,ccs3.3的编译环境。想让程序里定义的结构体按照1字节对齐,应该怎么弄?
Shine:
用#pragma STRUCT_ALIGN( type , constant expression )定义,在下面的compiler手册第184页上有介绍。http://www.ti.com/lit/ug/sprui04a/sprui04a.pdf
wei gao1:
回复 Shine:
我看了你说的184页的介绍,还是不太明白。struct_align()的第二个参数是边界值,我想让结构体1字节对齐,是应该填写多少呢?是128吗?
Shine:
回复 wei gao1:
c6713本来就是byte addressed,如果1字节对齐的话,不需要用aligned.
示例里的128, 表示128字节对齐。
wei gao1:
回复 Shine:
定义的结构体,结构体里面有float,double,还有char类型数据。在x86,cvi编译环境下,用pragma pack(1),然后sizeof(这个结构体),和在ccs下,同样这个结构体,sizeof的结果不一致,发现x86下确实是1字节对齐了,但ccs下并不是