请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
工具/软件:TI C/C++编译器
您好,
只是想告诉你。
如果您尝试编译以下代码:
struct XXX {
unsigned short m1;
unsigned short m2;
union {
struct {
unsigned short data[];}
raw;
struct {
unsigned int data[];}
_u16;
struct { unsigned long
data[];}
_u32;
} unsigned t {_long data;} unsigned u64; struct { struct { struct short mX; insigned int my; insigned int my; _s3;
} uuuuu;
} xxx;
编译器可能会报告以下错误:
内部错误:16.9 C:\ti\ccsv7\tools\compiler\ti-CGT-MSP430_MSP40.0.LTS\bin\acpia430.exe遇到分段故障
处理函数(未知或文件范围)文件(未知)第0行时
,这是由编译器本身的缺陷引起的。 TI客户
支持部门可能会建议一种解决方法来避免这种情况。
升级到最新版本的编译器可以解决此问题。
在 http://e2e.ti.com上 的E2E支持论坛中,在
“开发工具”,“TI C/C++编译器”下联系TI。 请参阅标题为
"提交问题"的链接。 包括整个错误消息和
使用选项--preproc_with注释(-pPC)时创建的.pp文件的副本。
要修复它,您必须定义数组的长度,例如:
struct XXX {
unsigned short m1;
unsigned short m2;
union {
struct {
unsigned short data[8];
} raw;
struct {
unsigned int data[4];
}_u16;
{ unsigned long data[2];
}_u32;
struct {
unsigned long long data;
}_u64;
struct {
unsigned short;
insigned int my;mx
} _s3;
} uuuuu;
} xxx;
此致,
执行部分