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.

[参考译文] F28M35H52C:如何防止 C2000编译器通过 C 代码访问函数

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1005759/f28m35h52c-how-to-prevent-c2000-compiler-to-optipizme-a-function-from-c-code

器件型号:F28M35H52C

您好!

在我的 C28应用中、我只想禁用特定函数或代码块的优化。 我想在 C 代码中直接指定它。

使用 gcc,我可以通过以下方法实现这一点:

__attribute__((optimize("O0"))

静态空 unoptimizedFunction()

(笑声)

是否可以对 C2000编译器执行相同的操作?

非常感谢!

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

    RIL、

    您可以使用一个 pragma 来实现此目的。

    FUNCTION_OPTIONS pragma 使您能够使用其他命令行编译器选项在 C 或 C++文件中编译特定函数。 受影响的函数将被编译、就像指定的选项列表出现在所有其他编译器选项之后的命令行上一样。 在 C 语言中、pragma 应用于指定的函数。 在 C++中、pragma 应用于下一个函数。

    #pragma FUNCTION_OPTIONS (func、"附加选项")

    有关更多信息、请参阅 C28x 编译器用户指南。  在我的版本中、它位于第122页。  

    https://www.ti.com/lit/ug/spru514v/spru514v.pdf?ts=1622550425862&ref_url=https%253A%252F%252Fdev.ti.com%252F

    此致、

    John

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

    嘿、John、

    感谢您的回答、这正是我要找的。

    再次感谢,祝您愉快!

    RIL

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

    很高兴听到这个消息。