说明

主要提供一些编译器相关特性的宏定义。

宏定义 说明 备注
__ASM 汇编 注意一般用于裸机开发或者RTOS开发,通用平台可能无此定义。
__INLINE 内联
__STATIC_INLINE 静态内联
__STATIC_FORCEINLINE 静态强制内联 注意:某些平台下同__STATIC_INLINE
__NO_RETURN 无返回 注意:某系平台可能此定义为空(不起作用)。
__USED 标记已被使用 注意:某系平台可能此定义为空(不起作用)。
__WEAK 弱定义 一般用于库函数编写。注意:在gcc中必须指定-Wl,--whole-archive才能确保库的弱定义一定生效,某系平台可能此定义为空(不起作用)。
__PACKED 取消对齐优化 注意:某系平台可能此定义为空(不起作用)。
__ALIGNED 对齐设置 注意:某系平台可能此定义为空(不起作用)。
__RESTRICT restrict限定符
__NO_INIT 不进行初始化 通常用于支持SRAM在复位时不复位的单片机使用。可减少异常复位带来的数据损失。注意一般用于裸机开发或者RTOS开发,通用平台可能无此定义。
__ALIAS 别名 注意:某系平台可能此定义为空(不起作用)。
__SECTION 设置节 通常配合链接脚本使用。注意:某系平台可能此定义为空(不起作用)。