Embedded OS

Reply to
George Shepelev
Loading thread data ...
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev

Здравствуйте, Уважаемый 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 или что-то в этом роде.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Здравствуйте, Уважаемый 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> Я фигею, дорогая редакция...

Вот-вот. Именно такие чудища и выползают из-под пера самых громогласных обличителей мого "невежества и виртуальности". Странная закономерность, неправда ли?

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Здравствуйте, Уважаемый George!

Пока не офтопик.

Thu Mar 17 2005 12:30, George Shepelev wrote to Olga Nonova:

ON>> Обычные строки Pascal. С ними обычно никаких хлопот не возникает.

GS> Как насчёт объединения двух "обычных строк Pascal" в одну, каждая GS> из исходных - по 150 символов?

Результат будет обрезан до размера 255. При этом, ход программы не собьется даже при отключенной опции проверки на диапазон. А если то же самое проделать с z-строками без дополнительного управления динамическим распределением памяти, то рухнет вся программа.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Здравствуйте, Уважаемый 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> Прощай регистровая оптимизация...

А она Вам очень нужна?

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Здравтсвуйте, Уважаемый 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 их не было. Вполне допускаю, что недавно были произведены дополнения. Под давлением суровой правды жизни.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova
Reply to
Maxim Polyanskiy

Здравствуйте, Уважаемый 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 статически, а не динамически. Пускай она окажется даже меньшей длины, чем потребуется- никаких фатальных проблем с выходом за диапазон не возникнет.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova
Reply to
Michael Belousoff

Здравствуйте, Уважаемый 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>

formatting link

AT> Там не все, нет нескольких моих последних проектов, идущих на замену 3-й AT> и 4-й позиций в списке продукции, но две первых - это те мои самые AT> дешевые, где себестоимость 15 баксов, и хорошо бы ее до 10 довести.

Сходила. Посмотрела. Мне понравилось. Мне только непонятно, какие чудеса интеллекта там демонстрирует PIC? Все трудности реализации, по-видимому, концентрируются вокруг силовых высоковольтных цепей? Там ведь вся изюминка, в схемотехнике?

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Здравствуйте, Уважаемый Alexander!

Пока не офтопик.

Thu Mar 17 2005 20:10, Alexander Torres wrote to Olga Nonova:

AT>>> Боже мой, как же твои письма в эху попадают - ведь они через каналы AT>>> связи проходят через десятки роутеров, где весь софт на Си AT>>> написан.... ON>> ON>> Роутеры неймановской архитектуры, а не мелкие гарварды. Поэтому и ON>> работает там Си.

AT> Девушка, там конечно не мелкие гарварды, но Вы тут уже столько наговорили AT> про неймана/гарварда, то АВР-ы у Вам нейман, то ПИКи, то 8086 вдруг в AT> ДЕКовском компе оказался, что к Вашим словам надо относится несколько AT> скептически :)

Крепкому производственнику недостойно опускаться до приемов шельмования из арсенала академических "программистов". Вы прекрасно понимаете, о чем идет речь.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Здравствуйте, Уважаемый 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а пользователей в этом деле-совершенно никакой надежды.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Здравствуйте, Уважаемый Andy!

Пока не офтопик.

Thu Mar 17 2005 20:03, Andy Mozzhevilov wrote to Alex Kouznetsov:

AK>> Предварительный осмотр виртуала позволяет предположить, что основной AK>> механизм воздействия - плавное передергивание, планомерная генерация AK>> правдоподобного бреда на фоне 100% непробиваемости. Похоже, они взяли в AK>> команду программеров, так что можно ожидать появления сего виртуала в AK>> соответвующих эхах.

AM> Вот думаю, может отшибить ее нафиг на /400 ?

Спервоначалу, Вы производили впечатление умного человека.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.