ModuleVars.h
extern int module_global;
/////////////////////////////////////////
ModuleFunc.h
void ModuleInit(void);
/////////////////////////////////////////
Module.h
#include ModuleVars.h
#include ModuleFunc.h
/////////////////////////////////////////
Module.c
#include ModuleFunc.h
int module_global;
void ModuleInit(void){
int module_global = 1;
}
/////////////////////////////////////////
Main.c
#include Module.h
void main (void){
ModuleInit();
module_global++;
}
TW9kdWxlVmFycy5oCiAKCWV4dGVybiBpbnQgbW9kdWxlX2dsb2JhbDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgkKTW9kdWxlRnVuYy5oCgoJdm9pZCBNb2R1bGVJbml0KHZvaWQpOwogCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKIApNb2R1bGUuaAoKCSNpbmNsdWRlIE1vZHVsZVZhcnMuaAoJI2luY2x1ZGUgTW9kdWxlRnVuYy5oCiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCk1vZHVsZS5jIAogCgkjaW5jbHVkZSBNb2R1bGVGdW5jLmgKCQoJCWludCBtb2R1bGVfZ2xvYmFsOwoJCQoJCXZvaWQgTW9kdWxlSW5pdCh2b2lkKXsKCQkJaW50IG1vZHVsZV9nbG9iYWwgPSAxOwoJCX0KIAogCiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KTWFpbi5jCiAKCSNpbmNsdWRlIE1vZHVsZS5oCiAKCQl2b2lkIG1haW4gKHZvaWQpewoJCQlNb2R1bGVJbml0KCk7CgkJCW1vZHVsZV9nbG9iYWwrKzsKCQl9
prog.c:1:11: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘.’ token
ModuleVars.h
^
prog.c:7:11: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘.’ token
ModuleFunc.h
^
prog.c:14:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘.’ token
Module.h
^
prog.c:16:11: error: #include expects "FILENAME" or <FILENAME>
#include ModuleVars.h
^~~~~~~~~~
prog.c:17:11: error: #include expects "FILENAME" or <FILENAME>
#include ModuleFunc.h
^~~~~~~~~~
prog.c:23:11: error: #include expects "FILENAME" or <FILENAME>
#include ModuleFunc.h
^~~~~~~~~~
prog.c: In function ‘ModuleInit’:
prog.c:28:8: warning: unused variable ‘module_global’ [-Wunused-variable]
int module_global = 1;
^~~~~~~~~~~~~
prog.c: At top level:
prog.c:34:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘.’ token
Main.c
^
prog.c:36:11: error: #include expects "FILENAME" or <FILENAME>
#include Module.h
^~~~~~