ZHCUAQ1F july 2015 – april 2023
支持以下 GCC 函数属性:
支持以下其他 TI 特定函数:
例如,此函数声明使用 alias 属性使“my_alias”成为“myFunc”函数的别名:
void my_alias() __attribute__((alias("myFunc")));
aligned 函数属性会使用指定的对齐方式来对齐函数。该对齐必须为 2 的幂。此属性与 CODE_ALIGN pragma 具有相同的效果;请参阅节 7.9.2。
always_inline 函数属性与 FUNC_ALWAYS_INLINE pragma 具有相同的效果。请参阅 节 7.9.10
calls 属性与 CALLS pragma 具有相同的效果,相关描述请参阅 节 7.9.1。
format 属性应用于 stdio.h 中 printf、fprintf、sprintf、snprintf、vprintf、vfprintf、vsprintf、vsnprintf、scanf、fscanf、vfscanf、vscanf、vsscanf 和 sscanf 的声明。因此,当启用 GCC 扩展时,系统会根据格式字符串参数中的格式说明符对这些函数的数据参数进行类型检查,并在不匹配时发出警告。如果不需要这些警告,可以通过常见方式抑制这些警告。
有关如何使用 interrupt 函数属性的更多信息,请参阅节 7.9.20。
malloc 属性应用于 stdlib.h 中 malloc、calloc、realloc 和 memalign 的声明。
naked 属性标识了使用 __asm
语句编写为嵌入式汇编函数的函数。编译器不会为此类函数生成序言和结语序列。请参阅节 7.8。
noinline 函数属性与 FUNC_CANNOT_INLINE pragma 具有相同的效果。请参阅 节 7.9.11
retain 属性与 RETAIN pragma (节 7.9.30) 具有相同的效果。也就是说,即使在应用的其他地方没有引用包含该函数的段,也不会从条件链接输出中省略该段。
当 section 属性在函数上使用时,具有与 CODE_SECTION pragma 相同的效果。请参阅 节 7.9.3