使用c2000 编译的遇到的问题,编译器版本 LTS 22.6.1
定义两个变量,一个是结构体数组,一个是结构体里成员是数组,用sizeof 测试二者大小一样 都是 99,但 TEST1 就可以指定到.cfgdata段,TEST2 会报内存空间size不够,请问这是为什么?
cmd文件如下
Ben Qin:
我认为应该是结构体在存储时是需要地址对其原因,也就是说,虽然你这里size of 的值是一样的,但在实际存储变量的过程中实际需要的空间可能会更大。
可以参考下这个博客:
C/C++ sizeof函数解析——解决sizeof求结构体大小的问题_sizeof结构体数组-CSDN博客