【发布时间】:2019-10-23 13:45:01
【问题描述】:
我正在尝试将以下宏的每个声明移动到另一个内存段中。如果没有 section 属性,它可以正常工作。关于为什么我不能在这里使用它以及如何使它工作的任何想法?
#define RINGBUFFER_DECLARE_MEMB(var, sz) \
uint8_t var ## __buf[sz] __attribute__((section(".rambss"))); \
struct ring_buffer var __attribute__((section(".rambss")))
device.h:91:29: 错误:section 属性不允许 '__iso_buf__buf' RINGBUFFER_DECLARE_MEMB(__iso_buf, BUF_SIZE_ISOLATED);
【问题讨论】:
-
使用-E命令行选项查看展开的宏就知道是什么问题了
-
请提供minimal reproducible example。但是,它对我有用(GCC 是 7.4.0)。