[an error occurred while processing this directive] [an error occurred while processing this directive]
И я вставлю свои пять копеек.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено abivan 25 октября 2001 г. 16:39
В ответ на: Вопрос PICоманам ;-) (+) отправлено SSV 24 октября 2001 г. 19:04

Пишу только на си с тех пор как появился HiTech С
>>Глюки
Раньше было больше. Теперь меньше. Один знаю
Если в процедуре объявить локальные переменные, потом открыть новый блок { и снова объявить локальные переменные... Пока все нормально, но если снова открыть новый блок и снова объявить локальные переменные... Вот тут компилятор делает неверное распределение памяти.
А так работает нормально.

Теперь задачка, а ниже ответ.
Вот ты исчерпал всю память на АСМЕ для 877. Что будешь делать?
....
Ответ: перейдешь на ПИК18 с 16Ксловами.
Тяжко на асме тебе будет переходить.
У меня один и тот же проект, с написанным машинно-зависимым файлом подключения компилиться и для 877 и для пик18.

>>Т.е. насколько использование С увеличивает размер кода
В основном отвечено предыдущими ораторами. Добавлю лишь
если будешь пользоваться функцией форматного вывода sprintf накинь 1.5Кслов.
и еще не удастся сэкономить при плавающей арифметике (float).
При любом действии например (float)F+(float)D происходит сначала копирование 4-х байт F затем 4-х байт D затем вызов функции. Это иногда, когда нужно утоптаться огорчает. На АСМЕ я бы написал процедурку копирования по указателю. И сэкономил код.

Но «ВСЕ РАВНО ЕГО НЕ БРОШУ, ПОТОМУ-ЧТО ОН ХОРОШИЙ» (с) это я о С

Зато ОЗУ за счет локальных переменных и объединений можно использовать более экономно.
Да, в общем, не нужно об этой памяти заботится. Не хватит 877 возьмешь ПИК18. По цене не сильно дороже, по ногам то же самое.

>>..., но уменьшает время разработки, (а то IMHO, ~80% вопросов по
Основное достоинство С - это распределение памяти самим компилятором. На это у меня уходило много времени. Для пика это важнее, чем для любого другого процессора, где памяти больше. И можно было бы распределить память заведомо без перекрытия.
Да время разработки может и несильно сократит, а вот время на модификацию программы через годик сократит существенно.
Да еще много чего написать можно



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

Ответы



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

E-mail: info@telesys.ru