C语言问题:函数在头文件中声明,如何避免重定义??
我写了一个函数func.c
里面有函数void func()的定义。当然,为了实现这个定义,还有很多其他函数服务于func(),比如void a(); void b();
这些函数也在这个func.c文件中,并且为了避免重定义,我都加了static,变成static void a(); static void b();。
同时func.c中还有一些全局变量,和一些宏定义(如#define PI 3.14)
现在我需要在另一个C文件(my.c)中调用这个func()函数,于是将func.c装入头文件func.h,如下
#include "func.c"
void func();
my.c如下
#include "func.h"
void a()
{
;
}
void main()
{
a();
}
这个时候,由于已经在func.c中定义了函数a(),所以出现重定义的错误。
请问1,C语言中如何解决这个重定义问题??
问题2:我看过其他的头文件,里面声明了很多函数,但是一般只会调用里面的几个,编译时不会产生任何警告,但是自己写的头文件,里面声明2个函数,只调用一个,就警告一个函数没有调用,这是为什么呢?
谢谢~!!