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.

[参考译文] 编译器/TMS320C6713:GCC __attribute__((noinline))等效于TI C/C++编译器,CCS

Guru**** 2553450 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/585847/compiler-tms320c6713-gcc-__attribute__-noinline-equivalent-in-ti-c-c-compiler-ccs

部件号:TMS320C6713

工具/软件:TI C/C++编译器

您好,

假设我将编译器优化级别提高到高(-o3),并且我不希望将我的小函数或任何函数内联(增加代码大小)... 如何强制TI编译器不内联特定或所有函数...即,我需要在TI编译器CCS中有类似gcc等效__attribute__((noinline))的内容。

提前感谢...

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

    您使用的是哪个版本的编译器? (这与CCS版本不同。)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我对gcc编译器没有太多的经验,但从搜索中,我发现__attribute__(noinline))可用于强制编译器不内联函数;在优化级别设置为高时。

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

    您好,

    有关“语言选项”和“高级优化选项”的信息,请参阅编译器手册:

    • --auto_inline=0 :禁用自动内联
    • --no_inlining:禁用显式内联
    • --opt_for空格=3.

    如上所述,要对每个函数进行调整,请使用__attribute___((noinline)) (要启用gcc扩展,请使用“--gcc”)或“#pragma function_options”

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