extern 关键字放在函数声明之前:
> test.h
extern int test();
如果这样函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义。
这样一来,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,比较习惯在所有的函数声明前添加extern修饰,以防止遗漏包含头文件而导致的编译错误。
extern 关键字放在函数定义之前:
> test.c
extern int test()
{
return true;
}
如果在函数定义的地方带有关键字extern,表示该函数会提供给外部文件使用,其实有些编译器是默认每个函数都是extern类型的,反之是static类型
参考:
http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html