在头文件中写函数规范吗?加载头文件的实质是什么?如何避免重复引用?
看到有的人在.h文件里直接写函数,然后直接引用这个头文件。还有一种写法是在头文件里只写函数的声明,然后有一个.c的文件文件与这个.h的文件来对应。就是一个.h配一个.c这...
看到有的人在.h文件里直接写函数,然后直接引用这个头文件。
还有一种写法是在头文件里只写函数的声明,然后有一个.c的文件文件与这个.h的文件来对应。就是一个.h配一个.c
这两种写法有什么区别?哪一个好一点?
还有,加载头文件的实质是把#include所在的地方替换成头文件的全部内容吗?就是说把#include看成一个占位符?
另外,当头文件比较多的时候,容易发生重复引用的问题,如何有效避免呢? 展开
还有一种写法是在头文件里只写函数的声明,然后有一个.c的文件文件与这个.h的文件来对应。就是一个.h配一个.c
这两种写法有什么区别?哪一个好一点?
还有,加载头文件的实质是把#include所在的地方替换成头文件的全部内容吗?就是说把#include看成一个占位符?
另外,当头文件比较多的时候,容易发生重复引用的问题,如何有效避免呢? 展开
2个回答
展开全部
我反过来回答吧。
#include就是把头文件的内容搬过来。编译器是只编译C文件的,它不会单独编译头文件,头文件只是被包含的。如果一个头文件没有被任何C文件包含,则该头文件中的内容不会被编译到。
如果程序规模不大,函数写在头文件里也行,但有些项目非常大,几百万行代码,上万个文件,如果一个头文件同时被好几千个C文件包含,这时如果该头文件里有很多函数的实现,那么这些函数将被重复编译好几千遍。有些大型开源项目(例如OpenOffice),完全编译一次要花十几个小时,时间就是这么浪费的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询