十一、e2studio VS STM32CubeIDE之宏函数展开

目录

一、概述/目的

二、复杂宏函数举例

三、编译-预处理

四、stm32cubeide和e2studio的预处理

[五、source insight和vscode](#五、source insight和vscode)


一、概述/目的

  • 复杂宏函数如何快速展开

二、复杂宏函数举例

复制代码
#define R_BSP_MODULE_START(ip, channel)            {FSP_CRITICAL_SECTION_DEFINE;                                   \
                                                    FSP_CRITICAL_SECTION_ENTER;                                    \
                                                    BSP_MSTP_REG_ ## ip(channel) &= ~BSP_MSTP_BIT_ ## ip(channel); \
                                                    BSP_MSTP_REG_ ## ip(channel);                                  \
                                                    BSP_MSTP_DMY_ ## ip(channel);                                  \
                                                    BSP_MSTP_DMY_ ## ip(channel);                                  \
                                                    BSP_MSTP_DMY_ ## ip(channel);                                  \
                                                    BSP_MSTP_DMY_ ## ip(channel);                                  \
                                                    BSP_MSTP_DMY_ ## ip(channel);                                  \
                                                    FSP_CRITICAL_SECTION_EXIT;}

三、编译-预处理

嵌入式科普(21)c代码究竟是如何一步步运行的之编译

三、编译的过程

3.1 linux gcc hello.c -o hello

预处理(生成预处理后的文件):

虽然 GCC 没有直接输出预处理后文件的选项,但你可以通过重定向输出到一个文件来查看预处理后的内容。

复制代码
gcc -E hello.c -o hello.i

-E 选项告诉 GCC 只进行预处理并停止。

在stm32cubeide、e2studio中如何预处理?

四、stm32cubeide和e2studio的预处理

  • stm32cubeide
  • e2studio

五、source insight和vscode

  • 对比结果不用多说
相关推荐
sz49723859914 小时前
vscode多种编译环境共存的方法
ide·vscode·stm32·编辑器·esp32
摘星台14 小时前
linux环境对stm32单片机进行程序烧录
linux·stm32·单片机
Joseph Cooper14 小时前
STM32MP157 Linux驱动学习笔记(三):系统级驱动框架(UART/PCIe)
linux·stm32·学习
森G15 小时前
STM32F103C8T6工程---标准库版usart2写回显
stm32·单片机
Joseph Cooper16 小时前
STM32MP157 Linux驱动学习笔记(一):驱动基础与设备模型入门(同步互斥/LCD/I2C/Input)
linux·stm32·学习
Joseph Cooper16 小时前
STM32MP157 Linux驱动学习笔记(二):硬件资源地基(Pinctrl/GPIO/Interrupt)
linux·stm32·学习
Z文的博客16 小时前
FLASHDB实战详解 - 嵌入式KV/TSD数据库开发全攻略
stm32·单片机·嵌入式·flash·flashdb·w25q256
LCMICRO-1331084774617 小时前
长芯微LCMDC8588完全P2P替代ADS8588,是一款16位、8通道同步采样的逐次逼近型(SAR)模数转换器
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模数转换器
LCG元18 小时前
STM32实战:基于FreeRTOS的LVGL嵌入式GUI移植(智能手表界面)
stm32·嵌入式硬件·智能手表
leo__52018 小时前
STM32 DMA程序(标准外设库版本)
stm32·单片机·嵌入式硬件