Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Есть ли в сях возможность организовать видимость глобальной переменной выше её объявления?
Отправлено
Aleksey75
24 сентября 2009, г. 21:20
Составить ответ
|
Вернуться на конференцию.
Ответы
Ну создай хедер в котором через extern все глобальные переменные и включай его куда надо.(+)
-
F8
(24.09.2009, 22:05:10
92.112.133.250
, 303 байт)
поясняю тему , в проге несколько файлов с функциями подключаемые по include, читаемо получается - объявляем переменную, под ней функцию , переменная по большому счёту "счётчик" и юзается дохрена где только для инкремента. вот и хочется привести всё к понятному читаемому виду
-
Aleksey75
(24.09.2009, 21:31:8
92.49.187.72
,
пустое
)
Сделай переменную глобальную static в одном файле. И функции setVal, incVal, decVal, getVal итд для работы с ней. Вообще, какая ось, проц?
-
Artem-1.6E-19
(24.09.2009, 21:42:48
77.87.39.155
,
пустое
)
+1. Не следует делать переменные видымыми более чем из одного модуля. Все обращения - через функции. Оверхед, конечно, но в результате часто спасет от головной боли.
-
Леонид Иванович
(24.09.2009, 23:46:51
87.252.227.56
,
пустое
)
ну эт ещё гемонее выходит , у меня таких счётчиков штук 20. pic18 , компилер CCS PIC
-
Aleksey75
(24.09.2009, 21:48:20
92.49.187.72
,
пустое
)
Думаю что-то у вас не правильно принципиально.
-
Artem-1.6E-19
(24.09.2009, 21:53:2
77.87.39.155
,
пустое
)
вполне может быть , самое главное на выходе всё работает и этА главное
-
Aleksey75
(24.09.2009, 21:56:7
92.49.187.72
,
пустое
)
Ответ: Главное, чтобы бабло было. А это значит чтобы вас не 3.14здили. А значит что система должна быть сопровождаемой и контролируемой.
-
Artem-1.6E-19
(24.09.2009, 22:08:11
77.87.39.155
,
пустое
)
а кто говорит что она будет не сопровождаемая и не контролируемая?
-
Aleksey75
(24.09.2009, 22:14:59
92.49.187.72
,
пустое
)
Ответ: Мой опыт.
-
Artem-1.6E-19
(24.09.2009, 22:17:58
77.87.39.155
,
пустое
)
Нельзя делать код в инклудах. ДУРНЕЙШЫЙ тон.
-
Dr.Alex
(24.09.2009, 21:40:36
193.19.83.15
,
пустое
)
Тон,конечо, дурной, но иногда может выручить когда памяти программ нехватает. В этом случае оптимизатору больше есть где разгулятся. Много не выгадаеш, но 2-3% можно.
-
F8
(24.09.2009, 22:12:26
92.112.133.250
,
пустое
)
Не верую.. :-р
-
Dr.Alex
(24.09.2009, 22:51:9
193.19.83.15
,
пустое
)
я к гламурности и фенщую не стремлюсь , да и исходники для личного пользования.... Какие могут быть косяки? как на сях начал писать всегда так делаю , граблей по этому поводу не наблюдал.
-
Aleksey75
(24.09.2009, 21:50:32
92.49.187.72
,
пустое
)
Эхехе. как-то 2 дни баг искал. Оказалось в инклюде с макросом накосячил.
-
Codavr
(24.09.2009, 22:46:44
89.179.94.249
,
пустое
)
Конечно можно - опиши, как внешнюю, а потом где-нибудь объяви (это уже проблема линкера - связывать)
-
mandigit
(24.09.2009, 21:28:22
91.79.40.237
,
пустое
)
мне бы пример как это делать , нифига нигде не нахожу.
-
Aleksey75
(24.09.2009, 21:32:0
92.49.187.72
,
пустое
)
примерно так
-
mandigit
(24.09.2009, 21:55:11
91.79.40.237
, 126 байт)
понял! спс!!
-
Aleksey75
(24.09.2009, 21:56:41
92.49.187.72
,
пустое
)
в хидерах пишем extern char my; в одном из с - объявляем char my; Но если это счетчик, то лучше так не делать
-
koyodza
(24.09.2009, 21:49:49
93.73.221.90
, 152 байт)
во! Это уже ближе к телу ... спасибо
-
Aleksey75
(24.09.2009, 21:54:6
92.49.187.72
,
пустое
)
выше только господь бог. Может локальную статическую переменную сделать видимой снаружи?
-
Artem-1.6E-19
(24.09.2009, 21:25:20
77.87.39.155
,
пустое
)
Это дурной тон. Вышэ объяви, нижэ используй..
-
Dr.Alex
(24.09.2009, 21:24:19
193.19.83.15
,
пустое
)
без extern что ли?
-
VasilyS
(24.09.2009, 21:24:2
80.92.96.25
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
что получится, если сложить 4 и 4 ?
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru