如何将宏定义中的逻辑表达式打印输出

文飞扬 2004-08-05 06:44:50

#define THRIVE_ASSERT(function_of_file,express) \
if (express) \
{ \
dprintf("function_of_file 出现断言错误,表达式: express"); \
这是我的宏定义的一部分,输出语句中function_of_file和express想用宏的实参替换,如有办法请告知。
...全文
229 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
文飞扬 2004-08-06
  • 打赏
  • 举报
回复
谢谢kaphoon(齐柏林飞艇) 和yeyuboy(夜鱼) ,我要的答案就是这个
yeyuboy 2004-08-05
  • 打赏
  • 举报
回复
将宏定义改为如下:
#define THRIVE_ASSERT(function_of_file,express) if (express) { dprintf("function_of_file 出现断言错误,表达式:%s", #express);
kaphoon 2004-08-05
  • 打赏
  • 举报
回复
#express

是不是这个啊
落入凡间的猪 2004-08-05
  • 打赏
  • 举报
回复
在编译器的设置里面加/p,你编译的时候会在你的工程目录下有个***.i文件出现,这个就是宏的展开
bm1408 2004-08-05
  • 打赏
  • 举报
回复
没有明白你的意思!

宏输出,那就多加几个"",宏不会替换""里面的内容的!

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧