头文件在编译中的作用?
Posted
技术标签:
【中文标题】头文件在编译中的作用?【英文标题】:The role of a header file in compilation? 【发布时间】:2014-01-13 13:02:56 【问题描述】:我们在一篇练习论文中被问到一个问题“头文件在编译中的作用是什么?在这种情况下,头文件的作用是什么?”
头文件将包含任何可能包含在 .cpp 实现中的类的声明。我知道通过在实现或其他头文件中包含头文件,该代码可以在不知道其实现的情况下知道该类的所有可能成员。
通过 *** 进行了一些阅读后,一些人认为头文件可能会减慢编译速度 (Coding C++ (mostly) in header files vs .cpp files),虽然对头文件的更改需要完全重建所有实现,而对实现不需要完全重建头文件及其所有实现。
这些准确吗?有什么理由认为头文件对编译有益吗?它起什么作用?
非常感谢!
【问题讨论】:
搜索“预处理器”。 正确的实现和构建系统不需要完全重新编译 那么,头文件对编译有什么影响(如果有的话)? 【参考方案1】:是的,虽然我会避免对代码文件使用术语实现 - 人们可能会认为您在谈论标题中类的实现,这可能会导致混淆。
此外,更改头文件不会导致您需要重新构建所有代码文件 - 只有那些包含(直接或以其他方式)所述头文件的代码文件。
哦,标头保护用于避免在给定编译单元中包含两次相同的文件(导致重新定义事物)。
【讨论】:
以上是关于头文件在编译中的作用?的主要内容,如果未能解决你的问题,请参考以下文章