Как все-таки правильно переменные в "С" (IAR) объявлять???
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено kamiur 28 июля 2003 г. 11:38

Надоело экспериментировать...
Хотелось бы иметь файл с глобальными описаниями и общими функциями:
...\common.c:
#include
void func(void){q++;}

...\common.h:
#ifndef common_h
#define common_h
volatile char q;
void func(void);
#endif common_h

...\test.c:
#include
void main(void){
while(1){q++; func();}
}

При линковке говорит:
Error[e27]: Entry "q" in module Test
(...\Test\Debug\Obj\Test.r90 ) redefined in module Common
(...\Test\Debug\Obj\Common.r90 )

Можно, конечно, во всех файлах common.h не включать, а переменные
и функции описывать как extern, но этих переменных и файлов в
проекте будет очень много.
Как все-таки правильно переменные объявлять???
Не судите строго за ламерский оффтопик, только начал на "С" с асма
переходить...

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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru