软件工程实战(二)--- 关于初步编程的概念理解问题

关于库和头文件:

EasyX是一个库,包括很多头文件和源文件。当VS2012使用EasyX功能的时候,引入的#include <XXX.h>是其中一个头文件,当配合里面源文件的程序后,可以使用。

而库的本质是一大堆相关的函数和类的定义的集合。可以封装好,作为一个整体给别人用。

关于C++(C)的源文件和头文件的区别和联系:

头文件的功能:其实是把源文件里面的函数的声明,变量的声明放在.h文件里。可能有几十句或者几百句。

每次调用#include <XXX.h>这样的语句时,相当于把这些声明等复制一遍放在.cpp文件里。换句话说,头文件是对文本的简单拷贝,但是自己不用编译。

而每个.cpp文件里面可以调用这句话,相当于把几百个语句复制一遍。

所以头文件里面一般不能定义,因为如果每个cpp文件里面都用就调用了好多遍定义,这是不合法的。

当然,特例可能在于inline(内联函数),还有头文件里面类的定义的一些特殊情形。

原文地址:https://www.cnblogs.com/caocan702/p/5679503.html