头文件-预编译处理指令(插入文本)

编译预处理:指的是编译前先抄写头文件文本,之后编译器编译cpp文件,之后多个cpp连接起来。

预处理:将引用头文件的地方替换成头文件 的内容,如果有直接或者间接重复的使用#ifnotdefine,能够保证相同的头文件在经过直接或者间接引用条件后只有一份,

说白了,使得中间过程忽略或者说随意怎么变

且之后的内容必须保证都是声明,反之:如果有定义,两个最终链接的代码有两个定义编译器将报错,

说白了,定义只能有一个,为什么呢?开辟同一个空间只能有一个,声明可以多次,扯淡

编译时可以肯定的是每个cpp文件单独编译成二进制.o文件,但是和其他cpp文件的先后顺序不定,要能够保证,绝对的关系,绝对能达成的,就是定义一定出现在声明之前

发布了127 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/chanleoo/article/details/104091278