Библиотека LUFA (раннее название MyUSB) версия 101122
|
Специальные макросы атрибутов функций и переменных AVR-GCC. More...
Defines | |
#define | ATTR_NO_RETURN __attribute__ ((noreturn)) |
#define | ATTR_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result)) |
#define | ATTR_NON_NULL_PTR_ARG(...) __attribute__ ((nonnull (__VA_ARGS__))) |
#define | ATTR_NAKED __attribute__ ((naked)) |
#define | ATTR_NO_INLINE __attribute__ ((noinline)) |
#define | ATTR_ALWAYS_INLINE __attribute__ ((always_inline)) |
#define | ATTR_PURE __attribute__ ((pure)) |
#define | ATTR_CONST __attribute__ ((const)) |
#define | ATTR_DEPRECATED __attribute__ ((deprecated)) |
#define | ATTR_WEAK __attribute__ ((weak)) |
#define | ATTR_NO_INIT __attribute__ ((section (".noinit"))) |
#define | ATTR_INIT_SECTION(SectionIndex) __attribute__ ((naked, section (".init" #SectionIndex ))) |
#define | ATTR_ALIAS(Func) __attribute__ ((alias( #Func ))) |
Этот файл содержит макросы для накладывания на функции и переменные специальных атрибутов GCC, для управлением различной оптимизацией и генерированием кода компилятором. Атрибуты могут быть помещены в любом порядке при определении переменных и прототипов функций. Можно указывать несколько атрибутов в виде списка, в котором отдельные атрибуты отделены друг от друга пробелом.
В несовместимых версиях GCC или других комиляторах эти макросы могут вычисляться как пустое место, за исключением критичных к коду функций, которые могут вызывать при использовании ошибку компилятора.