我从头开始创建了一个简单的 CubeMx 项目并在 Atollic TrueStudio 上打开它。当然,它的编译成功了。我一直在查看项目的目录和文件,以更好地了解构建新项目时的裸结构。
我目前使用配备 CortexM4 CPU 的 STM32 板,并且我正在使用 GCC 编译器用C 语言进行编程。在项目中,我发现了一个名为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文件中的其他位置,但未成功。我忽略了一些相关的东西吗?