头文件在编译中的作用
The role of a header file in compilation?
我们在一篇练习论文中被问到一个问题'头文件在编译中的作用是什么在这种情况下,收割台防护装置的作用是什么?'
头文件将具有可能包含在.cpp实现中的类的任何声明。我知道,通过在实现或其他头文件中包含一个头文件,该代码可以在不知道其实现的情况下知道类的所有可能成员。
在阅读了StackOverflow之后,一些人认为头文件可能会减慢编译速度(在头文件和.cpp文件中编码C++(大部分)),并且对头文件的更改需要完全重建所有实现,而对实现的更改不需要完全重建头文件及其所有实现。
这些准确吗?是否有任何理由认为头文件在编译中是必要的或有益的?它扮演了什么角色?
非常感谢!
是的,尽管我会避免在代码文件中使用"实现"一词——人们可能会认为你在谈论头中类的实现,这可能会导致混淆。
此外,更改头文件不会导致您需要重新生成所有代码文件,只需要那些包括(直接或以其他方式)所述头文件的代码文件。
哦,头保护用于避免同一个文件在给定的编译单元中被包含两次(导致对事物的重新定义)。
相关文章:
- 有没有一种方法可以在编译时获得作用域类名
- 编译在我的 Mac 上工作,但在集群 (Linux) 上不起作用
- 代码编译但不起作用!cmd窗口只是理想和理想,但什么也没发生
- 交叉编译 KConfig 不起作用
- 隐式用户定义的转换不起作用,因为在编译C 时无法识别运算符和转换构造函数
- 编译指示注释(库)不起作用
- 在编译时选择全局作用域函数
- 当我尝试使用 makefile 编译我的 qt 程序时,它不起作用
- 使用python3配置的Pybind11编译不起作用
- 当我在Windows上运行它时,为什么我的Linux编译二进制不起作用
- 为什么要编译无作用域枚举的声明?
- C++ 'stod()'不起作用,'strtod()'编译过程中抛出错误
- 编译逗号运算符的 C++ 代码右操作数中的错误不起作用
- 在 Windows 8 中编译的 DLL 在 Windows 7 中不起作用
- 简单协议缓冲区程序与G 编译时可起作用,但不clang
- MinGW .h 编译文件不起作用:此文件的版本与您运行的 Windows 版本不兼容
- "-Bdynamic"编译标志有什么作用?
- 头文件在编译中的作用
- 预编译HEADERS在使用Qt Creator/qmake/MinGw的调试构建中不起作用
- c++中的继承不起作用.编译以下c++代码时发生链接器错误