Я создал простой проект CubeMx с нуля и открыл его в Atollic TrueStudio.Конечно, его компиляция выходит успешно.Я просматривал каталоги и файлы проектов, чтобы лучше понять структуру при создании новых проектов.
В настоящее время я использую плату STM32, оснащенную процессором CortexM4, и программирую на C с компилятором GCC.В проекте я нашел заголовочный файл с именем core_cm4.h , который является охватом объявления макросов, то есть # define операторов.Здесь возникает странная вещь: когда я пытаюсь использовать эти макросы в файле main.c (и в любом другом новом файле), они все доступны и распознаются, но следующие:
#elif defined ( __GNUC__ )
#define __ASM __asm /*!< asm keyword for GNU Compiler */
#define __INLINE inline /*!< inline keyword for GNU Compiler */
#define __STATIC_INLINE static inline
Символ __GNUC__
определен, и компилятор не сообщает о каких-либо предупреждениях или ошибках.Однако среда IDE не предлагает эти макросы в раскрывающихся менюù и сигнализирует об этом слове как синтаксическая ошибка .
Я пытался переместить объявление в другое место в пределах core_cm4.h файл неудачен.Я пропускаю что-то важное?