2011-05-08 45 views
0

嗨,我刚刚完成我的学校项目。我只是不确定我是如何做到的。C项目不知道我的方式做了我的项目

我所拥有的文件:

headers.h - 我在这里守的功能(声明)和公共变量的所有头。

save_sunctions.c - 的一些功能定义

move_sunctions.c - 的一些功能定义

loop_sunctions.c - 的一些功能定义

goone_sunctions.c - 的一些功能定义

main.c - 在这个文件中我使用了所有这些函数。

好吗?或者我应该使用“extern”或其他东西?

回答

5

我认为在头文件和源文件之间建立一对一的关系比较传统。这样,您可以在另一个项目中仅包含部分代码,而不包括许多在项目中没有定义的函数的头声明。

因此,对于每个.c文件都有一个相应的.h文件,其名称与.c文件中的每个函数声明相同。

您需要为每个头文件添加所谓的guard,以确保它只包含一次。逆天是这样的:

#ifndef GO_FUNCTIONS_GUARD 
#define GO_FUNCTIONS_GUARD 
.../* declarations go here 
#endif 

至于extern,有一个在你的描述没有必要的。只要坚持头文件。

+0

假设move_functions.c中的某个函数使用另一个文件中的另一个函数,如go_functions.c。所以我应该把这个函数的声明从go_funstions.c放到move_funstions.h中以便能够使用它。我对么? – Domiik 2011-05-08 20:32:09

+0

在这个例子中,你声明了go_functions.h中的函数。然后在move_functions.c中#include“go_functions.h”'。 – 2011-05-08 20:34:36

+0

好的,如果save_functions.c也使用go_functions.c中的某个函数,头文件go_functions.h将被重新声明;( – Domiik 2011-05-08 20:45:05

1

通常你应该尽量保留所有类似的代码。在我看来,每个.c文件都应该有它自己的.h文件来引用。我想你可能把文件分开了,但这是受到解释的。

相关问题