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.

[参考译文] TMS320F28388D:如何在#pragma 指令和等效的 GCC 样式属性之间进行选择?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1366126/tms320f28388d-how-to-choose-between-a-pragma-directive-and-the-equivalent-gcc-style-attribute

器件型号:TMS320F28388D

工具与软件:

大家好!

TMS320C28x 编译器具有许多可通过#pragma 指令或 VIA 函数和变量属性使用的功能。

例如:

  • __attribute__((always_inline))等效于 #pragma FUNC_ALWAYS_INLINE
  • __attribute__((interrupt)) 等效于 #pragma INTERRUPT
  • 等等

我需要为新项目编写一个编码标准、并且我想加入一个规则来定义必须采用这两种方法中的哪一种。

我很确信、我在德州仪器(TI)的官方文档中的某处读到过属性方法被认为比 pragma 方法更卓越、更"现代"、但我似乎再也找不到这个来源了。 德州仪器的相关人员能否确认或更正此假设? 这两种方法中的一种在未来某个时候更有可能被弃用吗?

此致、

皮埃尔

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

    皮埃尔

    抱歉该主题的响应延迟。  

    您正在使用哪个编译器版本?

    我建议使用"attribute"选项而不是"#pragma "。  Ticlang 编译器不支持多个 pragma 指令。

    此致

    西达尔特  

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

    Siddharth、

    我使用的是 C2000代码生成工具 v22.6.0.10.LTS。

    选择在新编译器(如 ticlang)中不支持所有 pragma 指令是否有具体原因? 无论平台如何、"属性"选项都被认为更好、这更像是一种普遍趋势吗?

    此致、
    皮埃尔