[an error occurred while processing this directive]
ЗАЧЕМ ????
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
DASM
17 июля 2006 г. 23:34
В ответ на:
еще один вопрос - как заставить компилятор (или линковщик?) "сшивать" функции в определённом порядке?
отправлено LordN 17 июля 2006 г. 23:30
Составить ответ
|||
Конференция
|||
Архив
Ответы
а не надо? ты хошь сказать что таракану похер порядок, где и как в его памяти сложены функции?
—
LordN
(17.07.2006 23:37
217.18.131.147
,
пустое
)
млин, как же на пальцах-то трабл объяснить... ну попробую
—
LordN
(18.07.2006 00:01
217.18.131.147
, 1414 байт)
Это, скорее всего, из-за того, что компилятор "видит" все эти функции и
—
_Bill
(18.07.2006 00:12
85.116.121.2
, 461 байт)
я изо всех сил избегал чего-нить вызывать из прерываний - но работа сильно зависит от выдержаности периода вычислений, потому пришлось вызывать...
—
LordN
(18.07.2006 00:37
217.18.131.147
,
пустое
)
гм. а в доке на эту среду разработки в части библиотек слово reentrant встречается ? а то может их того этого - низзя вызывать одновременно с фона и прерываний
—
DASM
(18.07.2006 00:46
212.58.192.14
,
пустое
)
не, такого нету. вызов тока из прерывания. я понял про что ты - на пиках оно не работат ваще.
—
LordN
(18.07.2006 00:51
217.18.131.147
,
пустое
)
что значит только ? reentrant - это функции, которые можно вызывать одновременно несколько раз, в частности рекурсивно. А если библиотека не реэнтрантна , то придется забыть про вызовы её функций либо из фона, либо из прерываний. Ну или операционку городить, считая каждую библиотечн. ф-цию разделяемым ресурсом. Ужас
—
DASM
(18.07.2006 00:54
212.58.192.14
,
пустое
)
тьфу, только счас понял твой ответ. Ok.
—
DASM
(18.07.2006 00:54
212.58.192.14
,
пустое
)
ага, я тож уже почти сплю. :о) четыре утра, к девяти на работу... до завтра.
—
LordN
(18.07.2006 00:57
217.18.131.147
,
пустое
)
могабытьмогабыть... есть ли какой-нить способ указать на существование этих других функций в других файлах, кроме как поместить их в один?
—
LordN
(18.07.2006 00:34
217.18.131.147
,
пустое
)
Похоже ты все-таки не там ищешь... Какой PIC? Если 16, то могут быть траблы с банками памяти (хотя в HI-TECH уже давно этих проблем нет), или стэк где-нибудь переполняется...
—
Гудвин
(18.07.2006 00:11
62.181.47.244
,
пустое
)
pic18f252, тактовая 20МГц, компиллер ht-picc18.8.35.pl3.plus.fix
—
LordN
(18.07.2006 00:17
217.18.131.147
, 101 байт)
а стол полированный ?
—
DASM
(18.07.2006 00:18
212.58.192.14
,
пустое
)
а стол неполированный :о( , но за то лакированный, дубильными вв-ми, восновном кофено-коньячными :о)
—
LordN
(18.07.2006 00:19
217.18.131.147
,
пустое
)
Как там с глубиной вложений?
—
Гудвин
(18.07.2006 00:13
62.181.47.244
,
пустое
)
а хрен ё знает. у меня там две функции прерываний с разным приоритетом, в низком вызываются еще три по очереди, в двух из них еще одна вызывается.
—
LordN
(18.07.2006 00:29
217.18.131.147
, 132 байт)
а прототипы в h файлах проверял - они точно корректные ? warning нету на тему, что функция предварительно не объявлена ? А то "С" раздолбай еще тот (+)
—
DASM
(18.07.2006 00:06
212.58.192.14
, 176 байт)
кста - в опциях всегда включаю максимально глубокий уровень варнингов.
—
LordN
(18.07.2006 00:49
217.18.131.147
,
пустое
)
у меня все функции void (void) кроме одной - void putch(unsigned char Symb)
—
LordN
(18.07.2006 00:10
217.18.131.147
,
пустое
)
это плохо :-(
—
DASM
(18.07.2006 00:14
212.58.192.14
,
пустое
)
плохо что void ?
—
LordN
(18.07.2006 00:18
217.18.131.147
,
пустое
)
аха. Говорит о повсеместном использовании глб переменных
—
DASM
(18.07.2006 00:21
212.58.192.14
,
пустое
)
эт опять же было сделано по совету - мол через параметры функций переменные передавать тоскливо, код пухнет, время растёт...
—
LordN
(18.07.2006 00:31
217.18.131.147
,
пустое
)
шоб у советчика язык распух :-D
—
DASM
(18.07.2006 00:36
212.58.192.14
,
пустое
)
и какие предложения - перепахать весь код по нормальному? :о)
—
LordN
(18.07.2006 00:39
217.18.131.147
, 19 байт)
ну теперь уж не надо =)) Вобщем взять тот что был работоспособный и приводить его к неработоспособному виду постепенно, распихивая функции по штучке и смотря на результат.
—
DASM
(18.07.2006 00:44
212.58.192.14
,
пустое
)
хрен редьки не слаще.
—
LordN
(18.07.2006 00:59
217.18.131.147
,
пустое
)
Если уж пользуешь C, то наверное будет логичным отдать компилятору заботу о банках памяти...
—
Гудвин
(17.07.2006 23:41
62.181.47.244
,
пустое
)
я тож этого бы хотел, шоб он сам, а он...
—
LordN
(18.07.2006 00:13
217.18.131.147
,
пустое
)
А что у Вас есть сведения что комута не пофиг на расположение функций?!
—
eXeC001er
(17.07.2006 23:41
62.183.50.164
,
пустое
)
Мне ну очень не пофиг где у меня функции лежат. (+)
—
bp
(17.07.2006 23:48
89.110.7.42
, 337 байт)
не путаем явное задания порядка следования и ручное размещение адресов с секциями.
—
DASM
(17.07.2006 23:50
212.58.192.14
,
пустое
)
опсолюдно !
—
DASM
(17.07.2006 23:38
212.58.192.14
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание