当前位置: 首页 > news >正文

‘#‘ is not followed by a macro parameter 关于宏定义的错误

        今天在项目代码上想定义一个这样的宏,结果编译错误,这个宏定义类似这样的:

#define DELETE_FILE_DPP(key) \
#ifdef PLATFORM_DPP	\delete_file(&key);	\
#endif

因为有平台之分需要用到编译宏,但不想每个调用的地方都写 #ifdef ... #endif,所以想这样一个宏图省事。

这个是因为在宏定义中不能嵌套#ifdef,#ifndef 这个些,具体为什么不能找不到文档说明。解决办法是把 #define 嵌套到 #ifdef/#ifndef 里,如:

#define DELETE_FILE_DPP(key) 
#ifdef PLATFORM_DPP	
#define DELETE_FILE_DPP(key)	delete_file(&key);
#else
#define DELETE_FILE_DPP(key)
#endif

 在非指定平台下直接定义成空的宏就可以了,或者直接代码里写 #ifdef 吧。

http://www.lryc.cn/news/414269.html

相关文章:

  • 内网穿透--meterpreter端口转发实验
  • Python 数据类:减少样板并提高可读性
  • 家庭教育系列—北京海淀区”鸡娃“攻略
  • DLMS/COSEM中的信息安全:DLMS/COSEM安全概念(下)
  • 基于 systemc-2.3.1的virtual device 接入 qemu-arm
  • (七)自动化测试
  • 【信创】virtualbox内虚拟机连接U盘 _ 统信 _ 麒麟 _ 中科方德
  • 【2024】Datawhale AI夏令营 Task4笔记——vllm加速方式修改及llm推理参数调整上分
  • 腾讯OCR签名算法
  • CTFHUB-SSRF-DNS重绑定 Bypass
  • 【oracle】数据库基本使用
  • Action部署在线上写文章
  • CC链 (Commons Collections)
  • 左手坐标系、右手坐标系、坐标轴方向
  • 芋道源码yudao-cloud 二开日记(商品sku数据归类为规格属性)
  • 自媒体新闻资讯类网站模板/EyouCMS自媒体资讯类网站模板
  • Python3 第六十课 -- 实例二十九
  • 【JAVA入门】Day17 - GUI
  • OpenAI API continuing conversation in a dialogue
  • 6.前端怎么做一个验证码和JWT,使用mockjs模拟后端
  • Python酷库之旅-第三方库Pandas(064)
  • MATLAB基础操作(二)
  • win10 繁体简体字切换
  • R语言统计分析——描述性统计
  • 为什么需要合成数据进行机器学习
  • 传统CS网络的新生——基于2G网络的远程灌溉实现
  • EasyAR_稀疏空间图
  • 设计模式 - Singleton pattern 单例模式
  • 显示学习5(基于树莓派Pico) -- 彩色LCD的驱动
  • ros vscode配置gdb调试