Possible Duplicate:
What are the point of header files in C?
我正在开发一个 UNIX 项目。经过大量搜索后,许多人建议使用头文件,因为它们用于编写需要在多个源文件之间共享的代码。
It is best to centralise the definitions in one file - Header File.
现在我有两个疑问:
1) 使用头文件而不是简单的 .c 文件有何意义。
从 this answer开始 我知道头文件没有编译为目标文件。 然后会发生什么(实际上gcc是如何对待它们的)?有什么好处? 我分享的答案想要指出什么?
2) 编写头文件的规则或约定是什么。我只知道这个:
Header files usually ONLY contain definitions of data types, function prototypes and C preprocessor commands.
我们可以只写这个,即这是一个规则或约定吗?
Can anyone tell me any source to learn how to write header files.
我只能找到这个 - Writing Larger Programs -其中包含的内容并不多。或者任何其他用于编写更好和优化的头文件的技巧或风格。
最佳答案
1) 头文件允许您在 .c 文件之间传递信息,例如定义或其他 .c 文件中是否存在函数,这允许您将逻辑上属于一起的代码保留在一个位置; #include 指令将命名文件视为其命名文件的一部分,这使您可以节省大量冗余输入
2) 约定是将#define、枚举和函数声明传递到 .h 文件中,并在 .c 文件中传递实际的功能代码(除了偶尔的静态内联函数之外)
规则是:无论编译器在不死的情况下吃什么,或多或少都是允许的,只要它能产生一个功能性的程序。这些约定的存在或多或少是为了帮助您使项目保持在可理解、可维护的状态。
关于c - 编写规则或约定并工作 - C 中的头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10122923/