永发信息网

c++中关于单独编译的问题

答案:1  悬赏:50  手机版
解决时间 2021-03-18 09:53
我在c++书上看到讲单独编译的问题,上面把一个程序分成3小段,放在不同的cpp文件中
第一段在第一行加上#define COORDIN_H_
第二段第一行加上include "coordin.h"
第三段第一行加上include "coordin.h"
这样编译之后再运行,又是一个完整的程序,这是什么意思?不理解
最佳答案
那是因为没有理解include 的意思
include 其实意思很简单
比如有两个文件 A.h B.h
在A里面 ,加入内容 include “B.h”

那么系统会再编译A.h的时候,将B.h的内容 完整的拷贝到 A.h中 include B的地方。也就是简单的文本完整替换。

关于下面这个宏
#ifndef COORDIN_H_
#define COORDIN_H_

....

#endif

是为了防止被重复include 时采用的过滤。
比如A include了 C
B include了 C
A 又include了 B
那么在编译A的时候,就include了C两次。那么C里面定义的一些类型就会出现重复定义两次的情况,这是语法错误。所以为了保证只定义一次,那么定义C的时候,用下面的宏

#ifndef COORDIN_H_
#define COORDIN_H_

....

#endif

这样保证 ... 部分的内容,只有第一次出现才有效,第二次出现因为ifndef 判断不满足,所以中间一直到endif结束的代码就无效。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
原生态石板烧烤地址有知道的么?有点事想过去
我一朋友喜欢上了一个人可他又对前女友念念不
美国进口蛇果的保质期
现在开淘宝店要投资多少钱??
滦平有到六里桥的直达车吗 到永定门也行 几点
10.28除以0.26转化成除数是整数的除法
奥迪a4-15款,蓝牙打电话别人说话我听的见,
煤粉5000大卡比重多少?
长春理工大学,东北电力大学,吉林财经大学,沈
2015年佳能爱死小小白 水货价格多少 5500左右
1699540用万做单位约等于多少
用烤箱热鸡热鸡时温度调道多少度
云南旅游的最新攻略
win10笔记本电脑键盘失灵,重启可以恢复但用
有没有不占地方音质不错的电脑音箱价钱就不要
推荐资讯
日化类产品不需要备案吗?比如皂类
打两份工的时间安排和工种选择,最好能时间不
带有继和仆的成语
从 119.75.218.77:bytes=32 时间答复 = 140ms
C语言基础。 下列程序段的输出结果是_____。
巷北村地址有知道的么?有点事想过去
在澳大利亚的悉尼,一瓶普通矿泉水卖多少澳元
真心的问一下,一年经验的施工员,工资到底多
湘天·贡院三我想知道这个在什么地方
佳鑫诺专接本古韵校区怎么去啊,有知道地址的
施华蔻跟同类产品相比有哪些优缺点
柴油索兰托在新疆冬天-30度时 好启动吗 ?水
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?