请教一个函数声明和定义中的P()的问题

guojianxun17953 2015-01-30 10:54:56
void gsm_destroy P1((S), gsm S)

这个函数的定义好奇怪,加了一个P1(S),本来应该是void gsm_destroy(gsm S)就可以了,中间插一个P1(S)算是啥呢?


好像stdio.h有定义,但我不知道这个到底有啥用,害得我的sourceInsight都找不到符号。
...全文
220 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-02-02
  • 打赏
  • 举报
回复
VC编译选项加/EP /P,重新编译,查看宏展开后对应的.i文件。gcc加-E
guojianxun17953 2015-02-02
  • 打赏
  • 举报
回复
# define P0() (void) # define P1(x, a) (a) # define P2(x, a, b) (a, b) # define P3(x, a, b, c) (a, b, c) # define P4(x, a, b, c, d) (a, b, c, d) # define P5(x, a, b, c, d, e) (a, b, c, d, e) # define P6(x, a, b, c, d, e, f) (a, b, c, d, e, f) # define P7(x, a, b, c, d, e, f, g) (a, b, c, d, e, f, g) # define P8(x, a, b, c, d, e, f, g, h) (a, b, c, d, e, f, g, h) 就是这个定义,其实算起来,等替换完成,void gsm_destroy P1((S), gsm S)和void gsm_destroy(gsm S)就是一回事了,因为会被后者替换掉,我的意思是,我不明白这个宏放在这是有什么意义。
赵4老师 2015-01-30
  • 打赏
  • 举报
回复
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。

69,382

社区成员

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

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