有关宏和外部函数的基础问题

goodluck16 2008-03-03 09:34:48
本人刚学C++,遇到以下代码:
在头文件中声明:

#ifdef HAVE_PROTOTYPES
#define JPP(arglist) arglist
#else
#define JPP(arglist) ()
#endif

EXTERN(boolean) keymatch JPP((char * arg, const char * keyword, int minchars));
EXTERN(FILE *) read_stdin JPP((void));


不清楚其含义.这是在声明外部函数么?在那个外部函数的所在的模块中,其函数名字应该是什么?
...全文
53 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bicener 2008-03-03
  • 打赏
  • 举报
回复
  属于条件编译,自我感觉现在C++用的不多了,多用于MFC中。
  个人认为意思是
     如果定义了HAVE_PROTOTYPES ,则JPP(arglist)用arglist替代,如果没有则用另一个替代
int2e 2008-03-03
  • 打赏
  • 举报
回复
参数列表的过滤宏
有什么疑问?
Chappell 2008-03-03
  • 打赏
  • 举报
回复
up
babyvox1999 2008-03-03
  • 打赏
  • 举报
回复
根据宏来达到改变函数参数的目的
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-03 09:34
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下