- Vote on answer
- posted
19 years ago
Embedded OS
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый Kirill!
Пока не офтопик.
Thu Mar 17 2005 22:24, Kirill Frolov wrote to Olga Nonova:
ON>> В сишном ON>> варианте, хлопот с динамическим размещением и обработкой z-строк много ON>> больше. Поэтому, чисто теоритически, вероятность залететь на ON>> неприятности- тоже много больше.
KF> А кто сказал, что "сишные строки", которые не строки вовсе, а байтовый KF> вектор, предназначены для того, для чего их пытаются применять? Есть и KF> более вменяемые реализации строк на C, не входящие в ANSI библиотеку. KF> С z-строками хлопот как раз меньше, это крайне простое и хорошее решение KF> для простых же случаев.
Hеобходимость использования мэнджера памяти и обьектов типа коллекциия- это Вы называете "простым случаем и простым решением" для мелких однокристаллок?
KF> Паскалевские строки? Ограничение в 255 символов на строку всё KF> убивает.
Hичего не убивает, если вспомнить про устройства на PIC или AVR-ах, в которых строки практически никогда не зашкаливают за размер в 32 символа. Статическое выделение памяти под такие строки много выгоднее, чем изобретать что-то динамическое на z-строках.
KF> Да и практическая польза от возможности обработки строк KF> "неизвестной" длины часто перевешивает все против
Hапоминаю еще раз, что речь идет о девайсах на PIC, AVR или что-то в этом роде.
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый Kirill!
Пока не офтопик.
Thu Mar 17 2005 22:39, Kirill Frolov wrote to Alex Kouznetsov:
AK>> Pукопашное преобразование: AK>> #include <string.h>
AK>> char zstr[] = "примерчик"; AK>> char cstr[strlen(zstr)]; /* строка со счетчиком AK>> cstr[0] = strlen(zstr); AK>> for (int i=0; i<strlen(zstr); i++) AK>> cstr[i+1] = zstr[i];
KF> Я фигею, дорогая редакция...
Вот-вот. Именно такие чудища и выползают из-под пера самых громогласных обличителей мого "невежества и виртуальности". Странная закономерность, неправда ли?
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый George!
Пока не офтопик.
Thu Mar 17 2005 12:30, George Shepelev wrote to Olga Nonova:
ON>> Обычные строки Pascal. С ними обычно никаких хлопот не возникает.
GS> Как насчёт объединения двух "обычных строк Pascal" в одну, каждая GS> из исходных - по 150 символов?
Результат будет обрезан до размера 255. При этом, ход программы не собьется даже при отключенной опции проверки на диапазон. А если то же самое проделать с z-строками без дополнительного управления динамическим распределением памяти, то рухнет вся программа.
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый Alexey!
Пока не офтопик.
Fri Mar 18 2005 09:44, Alexey Boyko wrote to Olga Nonova:
ON>> MoveByte MACRO Byt1,Byt2 ON>> lds R16,Byt1 ON>> sts Byt2,R16 ON>> ENDM
AB> Прощай регистровая оптимизация...
А она Вам очень нужна?
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
Здравтсвуйте, Уважаемый Alexey!
Пока не офтопик.
Fri Mar 18 2005 09:57, Alexey Boyko wrote to Olga Nonova:
ON>> .... С-компилятор перед поиском не скопирует весь набор ON>> шаблонов в ОЗУ, и только потом вызовет библиотечную функцию,
AB> Я точно не понял, но если нужно сравнение строк, то в avr-gcc есть и это: AB> strcmp_P, strcasecmp_P, strncmp_P
В версии 1.40 их не было. Вполне допускаю, что недавно были произведены дополнения. Под давлением суровой правды жизни.
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый Alexey!
Пока не офтопик.
Fri Mar 18 2005 11:14, Alexey Boyko wrote to Olga Nonova:
ON>> Да, как чудо-компилятор среагирует на приход блока данных больше, чем ON>> было отведено в памяти места под них?
AB> Покажи пример на паскале. Как он среагирует.
AB> Вот мой пример:
AB> var AB> s :^string; AB> a,b :string; AB> begin AB> getmem(s, 8); AB> a := 'Hello World'; AB> b := 'Good bye World'; AB> s^ := a + b; AB> end.
AB> И понеслась душа в рай.
Как любят говорить в данной конференции: "Вы занимаетесь не своим делом".- что применительно к вашему фрагменту программы означает- не надо сишные приемы закладывать в программы на паскале. Задайте строку s статически, а не динамически. Пускай она окажется даже меньшей длины, чем потребуется- никаких фатальных проблем с выходом за диапазон не возникнет.
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый Alexander!
Thu Mar 17 2005 20:02, Alexander Torres wrote to Olga Nonova:
AT>>> Вот только, я совершенно спокойно испльзую функции, работающие AT>>> например с лежащими в ПЗУ строками, и никуда в ОЗУ они не копируются. ON>> ON>> Эти функции из стандартной библиотеки С-компилятора? Или написали сами?
AT> Свои конечно.
Вопросов больше не имею. Дествительно, если все из инструментального пакета на Си переписать самостоятельно, то наверное можно будет достичь воспроизводимых результатов.
ON>> Хай-Течь, как я понимаю, для PIC?
AT> Да.
ON>> Я в эту сторону вообще не смотрю.
AT> Hу это лично Ваши проблемы. Устраивающих нас контроллеров не так уж и AT> много, с атмелом работать трудно, другие по цене не устраивают, третьи - AT> еще по чем-то.
Это справедливо. Кто к чему привык,- уже не столкнешь.
ON>> Было бы чрезвычайно интересно сходить на сайт этой фирмы и посмотреть на ON>> это чудо из чудес.
AT> Да "чудес" там особенных нет, да и в отличие от девайсов - сайт не сильно AT> хорош, поскольку это несколько не тот рынок, где можно что-то AT> реклламировать на сайте.
ON>> Ссылочку можете кинуть?
AT>
AT> Там не все, нет нескольких моих последних проектов, идущих на замену 3-й AT> и 4-й позиций в списке продукции, но две первых - это те мои самые AT> дешевые, где себестоимость 15 баксов, и хорошо бы ее до 10 довести.
Сходила. Посмотрела. Мне понравилось. Мне только непонятно, какие чудеса интеллекта там демонстрирует PIC? Все трудности реализации, по-видимому, концентрируются вокруг силовых высоковольтных цепей? Там ведь вся изюминка, в схемотехнике?
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый Alexander!
Пока не офтопик.
Thu Mar 17 2005 20:10, Alexander Torres wrote to Olga Nonova:
AT>>> Боже мой, как же твои письма в эху попадают - ведь они через каналы AT>>> связи проходят через десятки роутеров, где весь софт на Си AT>>> написан.... ON>> ON>> Роутеры неймановской архитектуры, а не мелкие гарварды. Поэтому и ON>> работает там Си.
AT> Девушка, там конечно не мелкие гарварды, но Вы тут уже столько наговорили AT> про неймана/гарварда, то АВР-ы у Вам нейман, то ПИКи, то 8086 вдруг в AT> ДЕКовском компе оказался, что к Вашим словам надо относится несколько AT> скептически :)
Крепкому производственнику недостойно опускаться до приемов шельмования из арсенала академических "программистов". Вы прекрасно понимаете, о чем идет речь.
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый Leha!
Thu Mar 17 2005 14:54, Leha Bishletov wrote to Olga Nonova:
ON>> У библиотеки может и нет другой "точки зрения", но ей снаружи ON>> вполне могут подсунуть и без /0. Каков будет результат?
LB> Такой же как если в полуторный грузовик нагрузить 5 тонн. Почему ты LB> хочешь от библиотечной функции того, чего она ни кому не обещала?
Я бы хотела, чтобы библиотечная функция по-крайней мере не обрушивала всю систему целиком при некорректных обращениях. Такое обрушивание делает почти невозможным отладку приложения, падают все инструментальные средства. Понять что-где произошло- невозможно. С программами на Паскале такого не происходит.
ON>> Отнюдь! У Pascal можно вкдючит опцию компилятора "автоматическая ON>> проверка выхода за декларированный размер". Испорченная длина ON>> строки- отдыхает.
LB> Очень рад за Pascal, но платой за это явно будет увеличение времени LB> выполнения.
Эта опция отключается после отладочных прогонов и делается боевая программа.
LB> Кроме того, нет ни каких принципиальных ограничений LB> реализовать такую же функциональность на С. (Мы ведь все еще про LB> собственную реализацию библиотечных функций?)
Для z-строк, принятых в Си, такую проверку реализовать чрезвычайно трудно. Говорят, что только в С++, но это уже за пределами эхотага.
ON>>>> В AVR-ах были баги с выполнением отдельных инструкций ветвления ON>>>> при прерываниях. Сейчас правда утверждают, что пофиксили. LB>>> И как в приведенных ранее макросах это учитывается? ON>> Методом безжалостного избегания в употреблении. Чего совершенно ON>> нельзя гарантировать в стандартных библиотеках при компиляторах Си.
LB> Это делают авторы этих библиотек, а проверяют, кроме авторов, еще и LB> тысячи пользователей этих библиотек.
Авторы компиляторов как раз очень небрежно относятся к сопровождающим библиотекам, считают их второстепенным делом. А на счет "тысяч пользователей"- это сильное преувеличение. Максимум сыщется пара фанатиков, что полезет дизассемблировать библиотеки и искать в них баги. Hа пользователей в этом деле-совершенно никакой надежды.
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый Andy!
Пока не офтопик.
Thu Mar 17 2005 20:03, Andy Mozzhevilov wrote to Alex Kouznetsov:
AK>> Предварительный осмотр виртуала позволяет предположить, что основной AK>> механизм воздействия - плавное передергивание, планомерная генерация AK>> правдоподобного бреда на фоне 100% непробиваемости. Похоже, они взяли в AK>> команду программеров, так что можно ожидать появления сего виртуала в AK>> соответвующих эхах.
AM> Вот думаю, может отшибить ее нафиг на /400 ?
Спервоначалу, Вы производили впечатление умного человека.
Всего Вам Хорошего Ольга