标签: include extern
假设我有A.h,A.c,B.h和B.c(除了main.h和main.c)。
在B.h中,我已经声明:void foo(void);
void foo(void);
在B.c中,我定义了void foo(void) { ... }
void foo(void) { ... }
我正在A.c呼叫foo();
foo();
在A.h中,我可以#include B.h或extern void foo(void);在两种情况下都可以编译程序。谁能解释这两种方法之间的区别?
#include B.h
extern void foo(void);