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.

[参考译文] CCS/MSP430FR5949:MSP430FR5949

Guru**** 2380860 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/615791/ccs-msp430fr5949-msp430fr5949

部件号:MSP430FR5949

工具/软件:Code Composer Studio

您好,

我在一个旧的封闭线下输入了下面的问题,所以您可能看不到它

我遇到了MSP430 C编译器的奇怪行为。

如果在(寄存器优化)上使用-0选项编译代码,编译器只会跳过C代码行。

如果我关闭所有优化,编译器将按预期工作。

以下部分的拆卸说明了哪些C线被忽略了

此代码段没有优化。

查看行后的代码

IF ((RC5Code & S2Mask)=0;

 代码+=64;

C 线  

地址=((RC5Code & AddressMask)>>6);

ïf (地址== AmpAddress)

失望了

这是带-0优化的拆卸

您对此有何解释?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Jan,
    我将您的帖子移到了编译器论坛。 这里的专家可以为您提供最好的帮助。

    有关编译器专家帮助调试问题所需的其他信息,请参阅以下链接:
    software-dl.ti.com/.../sdto_cgt_How-to-Submit-a-Compiler-Test-Case.html

    谢谢
    KI
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用优化功能会使您的代码发生相当大的变化。  例如,请注意“return 0;”语句移动的距离。  它可能是经过优化的代码,虽然很不一样,但它也能执行相同的操作。  如果您使用KI注明的链接发送测试案例,我很乐意检查。  

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    George,

    我在周末重写了代码的一些部分,使其更有条理,更短,现在我没有看到这个问题,同时在编译中省略了两个C行,使我的代码 无法正常工作。  

    现在我可以再次使用寄存器优化,我的代码 运行正常。

    我不知道为什么会发生这种情况,但很遗憾,我无法重现此问题,因此,按所述生成文件不会有太大的好处。

    如果这种情况再次发生,我知道该怎么做。

    感谢您的支持。