我有三个源文件和一个头文件。 main()
中的.c
,主要是(对我来说,很难找到单词“ main”的同义词; d)第二个功能是.c
,是杂项功能 - 最后。头文件中包含包括,定义,函数原型,结构,全局变量在内的库。
这是正确的组织吗?
我应该使用哪个参数来命名clang的可执行文件? -o
仅适用于一个文件的项目。
答案 0 :(得分:1)
这是正确的组织吗?
不,不是。
基本上,您希望1个源文件与1个头文件相对应(具有main()
函数的文件除外),因此在您的示例中,您将具有“ second.h”和“ last”。 h“。
并且不要忘了在“ second.c”中的#include "second.h"
上让编译器检查所有内容(与“ last.c”相同)。
此外,在需要的地方进行#include
。例如,如果您使用struct tm
作为参数,则在头文件和源文件中使用#include <time.h>
。不必包含头文件。
还请记住要使用标题保护符
适当地防止多重包含#ifndef SECOND_HEADER_INCLUDED
#define SECOND_HEADER_INCLUDED
//avoid #includes
//#defines
//structs
//typedefs, but don't hide *
//avoid globals, use with extern if really needed
//prototypes
#endif