十一、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

  • 对比结果不用多说
相关推荐
InJre6 小时前
STM32通过rt_hw_hard_fault_exception中的LR寄存器追溯程序问题
java·stm32·嵌入式硬件
xiaobobo33307 小时前
解决vscode打开一个单片机工程文件(IAR/keil MDK)因无法找到头文件导致的结构体成员不自动补全问题。
vscode·stm32·无法找到头文件·结构体成员不补全
夜月yeyue8 小时前
高性能MCU的MPU与Cache优化详解
linux·开发语言·stm32·单片机·嵌入式硬件
Lester_11019 小时前
嵌入式学习笔记 - FreeRTOS关于vApplicationGetIdleTaskMemory
笔记·stm32·学习·freertos
Moonnnn.12 小时前
【PCB设计】STM32开发板——原理图设计(电源部分)
笔记·stm32·单片机·嵌入式硬件·学习
Bob999813 小时前
Logitech (罗技)单通道、双通道与6通道 Unifying 接收器:USB ID、功能与实用性解析
java·网络·c++·python·stm32·单片机·嵌入式硬件
广药门徒15 小时前
对比ODR直接赋值的非原子操作和BSRR原子操作
stm32·单片机
比特森林探险记1 天前
ESP32与STM32
stm32·单片机·嵌入式硬件
章鱼哥嵌入式开发1 天前
#STM32 HAL库实现的STM32F407时钟配置程序以及和STM32F103配置对比
stm32·单片机
jmlinux1 天前
C 语言开发中常见的开发环境
c语言·开发语言·stm32·单片机