打印

关于#ifndef

[复制链接]
1206|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
txcy|  楼主 | 2014-3-27 18:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
火箭球迷| | 2014-3-27 18:38 | 只看该作者
#ifdef GLOBALS
#define EXT
#else
#define EXT extern
#endif

如果定义GLOBALS, #define EXT相当于EXT定义为”空”,说明下面的函数是在这个文件里面声明的,如果没有定义GLOBALS,
#define EXT extern 相当于EXT定义为extern ,说明下面的函数已经在别处声明了了

使用特权

评论回复
板凳
pkat| | 2014-3-27 18:43 | 只看该作者
使用extern 就说明这个函数或者变量已经在别处声明了,如果不加这个的话就会造成重复声明,这个extern关键字在头文件或者C/CPP文件用都是可以的,没有限制只能在头文件里面使用

使用特权

评论回复
地板
monkeypony| | 2014-3-27 19:02 | 只看该作者
这样做只是为了以防万一,程序很大时怕有重复的定义,或者移植程序时出现问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝