[an error occurred while processing this directive]
Так-же как и в луюбом другом Си(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено F8 06 сентября 2006 г. 08:31
В ответ на: глобальная переменная в иаре авр? отправлено <font color=gray>evro</font> 06 сентября 2006 г. 05:35


GlobVar.h
#ifndef GLOB_VAR_H
#define GLOB_VAR_H

extern int MyVar;

#endif
//-----------------------------------
GlobVar.c

int 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_H

extern 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];
};



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание