This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

奇怪的编译问题



现象表现为:

在下列语句中,py2 = 1, p7 = 1的情况下,也会进入capa.capFault[0] = 1;capa.capFault[1] = 1;  ,但进了以后,实际上capa.capFault[0] 和capa.capFault[1]又未被赋值。 

if (py2 == 0)
{
    capa.capFault[0] = 1;
}
if (p7 == 0)
{
    capa.capFault[1] = 1;
}

见下图中的断点2和断点3不管单步调试还是F5 RUN都会进去,右下角监控中,p7 和 py2都为1,同时capa.capFault[1] 为 18571,

CCS3.3具体版本见下图

p7 py2在主循环中赋值,如下图

工程编译选项设置如下

编译成汇编语句如下, 其问题是断点2 和 断点3处并没有编译成如断点4 "CMPB"的语句, 断点4正常, 而断点2和断点3不正常.我猜测应该是编译出问题了,但为什么编译会这样子?优化级别是NONE,也重新编译过还是如此