网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月03日
漏签
0
天
c语言吧
关注:
791,202
贴子:
4,301,803
看贴
图片
吧主推荐
视频
游戏
3
回复贴,共
1
页
<<返回c语言吧
>0< 加载中...
蹲蹲,#ifndef, #endif是什么意思
只看楼主
收藏
回复
可以抓注意次数
大能力者
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
看到些代码用这个但是不懂
刚刚上网搜了下
只大致明白这个是用于多个文件调用时防止标准库重复的
但是具体使用情况的逻辑没有理解,看底下评论说跟底层代码逻辑有关
所以想问一下
而且看这几个语句的用法也有点不明白
因为大部分是
ifndef xx
define xx
endif xx
这么一个组合
我个人的理解是ifndef是类似if语句,确定xx标准库是否已经包含,如果没有就执行下一句define
但是后面又endif,而endif我看名字感觉像是删除标准库
但这样逻辑有理不清了
rainm
大能力者
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这些是给编译器看的预处理指令,#define是定义宏,#ifndef就是当宏没有被定义时一直到#endif代码有效,类似于if和大括号,如果定义了宏则中间代码相当于注释,xx是宏的名称,写成库的名字是为了可读性
贴吧用户_52AWKJt
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
宏定义是全局的,所以为也防止重复定义就需要进行一定的逻辑判断,但是这种判断在运行过程中是无法进行的所以用ifndef判断宏定义了没有,没有就定义,endif表示if结束了这是和if搭配的,ifndef是if not def的意思
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示