[an error occurred while processing this directive]
|
GlobVar.h
#ifndef GLOB_VAR_H
#define GLOB_VAR_Hextern int MyVar;
#endif
//-----------------------------------
GlobVar.cint MyVar;
Затем во все модули где нужно видить MyVar добавляете #include "GlobVar.h", вместо #include "GlobVar.h" также можно просто довавить строку extern int MyVar. По другому никак.
PS ключевое слово extern говорит компидятору, что данная переменная обявенна в другом модуле.
PSS Если мне не изменяет память иар выдавал ошибки при обьявлении таким образом неименованых unit-ов и struct-ур например:
GlobVar.h
#ifndef GLOB_VAR_H
#define GLOB_VAR_Hextern uhit
{
int MyVar;
char ByteMyVar[2];
};
#endif
//-----------------------------------
GlobVar.c
#include "GlobVar.h"
uhit
{
int MyVar;
char ByteMyVar[2];
};Тут иар ругается, выход такой:
GlobVar.h
#ifndef GLOB_VAR_H
#define GLOB_VAR_H#ifndef GLOB_VAR_C
extern uhit
{
int MyVar;
char ByteMyVar[2];
};
#endif#endif
//-----------------------------------
GlobVar.c
#define GLOB_VAR_C
#include "GlobVar.h"uhit
{
int MyVar;
char ByteMyVar[2];
};