硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1569|回复: 6
收起左侧

请教一个C语言宏定义实现的问题

[复制链接]

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
发表于 2018-7-2 18:35:16 | 显示全部楼层 |阅读模式
我有一个函数ErrState(){},同时我需要定义这样一个宏:#define ERR_STATE_NUM(X)。这个宏实现的功能如下:当X为3时,宏定义最后的展开结果是3个 ErrState 函数名的列表:ErrState,ErrState,ErrState
当X为5时,宏定义最后的展开结果是5个 ErrState 函数名的列表:ErrState,ErrState,ErrState,ErrState,ErrState也就是说,X是多少,最后宏定义展开出来的就是多少个 ErrState 函数名

请教,这个用宏定义如何实现?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
发表于 2018-7-3 00:36:43 | 显示全部楼层
是不是下面这个意思:
QQ截图20180703003602.png


回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
 楼主| 发表于 2018-7-3 10:05:47 | 显示全部楼层
eric2013 发表于 2018-7-3 00:36
是不是下面这个意思:

多谢硬汉深夜回复。你这个是循环调用吧?我需要的是列表,占位用的,不能像这样循环调用。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
发表于 2018-7-4 16:22:35 | 显示全部楼层
ghslfgkkl88 发表于 2018-7-3 10:05
多谢硬汉深夜回复。你这个是循环调用吧?我需要的是列表,占位用的,不能像这样循环调用。

是不是要展开不同的函数,如果是不同的函数,的确是不太好整。
回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
 楼主| 发表于 2018-7-4 18:54:07 | 显示全部楼层
eric2013 发表于 2018-7-4 16:22
是不是要展开不同的函数,如果是不同的函数,的确是不太好整。

相同的函数就行
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
发表于 2018-7-5 00:49:59 | 显示全部楼层

暂时没有找到可以实现这种功能的关键词
回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
 楼主| 发表于 2018-7-5 09:20:20 | 显示全部楼层
eric2013 发表于 2018-7-5 00:49
暂时没有找到可以实现这种功能的关键词

硬汉费心了,非常感谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 05:56 , Processed in 0.175067 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表