#ifndef,#define 用法

文件中的#ifndef


头文件中的呃#ifndef,这个是一个很关键的东西,比如你有两个c文件,这两个c文件都include了同一个头文件。而编译时候,这两个c文件要一同编译成

可运行文件,于是问题来了,大量的声明冲突。

还是把头文件的内容都房子#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般gesture是这样的。


#ifndef <标示>

#define  <标示>


...........

...........

#endif


<标示>在理论上来说可以是自由命名的,但每个头文件的这个标示都应该是唯一的。标识的命名规范一般是头文件全大写,前后下划线,并把文件名中的.变成

下划线。


#ifndef_STDIO_H_

#define _STDIO_H_


............

#endif


在#ifndef中定义变量出现的问题(一般不定义变量在ifndef中);

int  i;


......


#endif




结论:

1)当你第一个使用这个.cpp文件生成.obj的时候,int i在里面定义了党另外一个使用这个.cpp再次单独生成.obj的时候,int  i又被定义 然后两个obj被另外一个

.cpp也include 这个头的连接在一起,就会出现重复定义。


2)把源程序文件扩展名改成.c后,vc按照c语言的语法对源程序进行编译。而不是c++。

在c语言中,若是遇到多个int  i   则自动认为其中一个是定义、其他的是声明。





  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值