工具/软件:
您好专家
客户报告 CCS6.2和 v15.12.3.LTS 编译器存在问题。 一旦将--opt_level 设置为0/1/2、则可以重现问题、设置为 OFF 则无法重现问题
以下是客户为重现此问题而采取的措施:
1.声明如下结构:
{
VAR1
VAR2
...
结构1.
2.声明结构嵌套 Structure1如下所示:
{
VAR1
VAR2
...
结构1实例
&函数处理程序
结构2地址(&B)
} 结构_2.
3.声明数组 structure_2[N]、并写入 for 循环以选择 Structure_2[N]中最大的 VAR1、例如:
温度= 0
对于(I = 0;I<N;I++)
{
如果 Temp < Structure_2[N].VAR1{
Temp = Structure_2[N].VAR1
}
}
4. 将--opt_level 设置为任何0/1/2级别、构建并运行工程、structure_2中的变量值将随机更改。
5.如果将 --opt_level 设置为 off、或者阻止 for 循环或写入比较语句 N 次而不是 for 循环、则不会发生问题。
您能分享一些调试此问题的建议吗?
谢谢
Joe