Еще раз повторюсь: даже если небольшой оверхед и есть, это мне не помешало поместить в ATmega16 ОСь + прикладную программу. Все на Си++. Сейчас занимаюсь реалтаймовским приложением. Тоже на Си++, без ОСи (она там просто не нужна). Для ATmega168. Я в свое время также и про Си считал. Только на ассемблере работал. Пока не попробывал. Удобств было... словами не описать.
Верю. И в Запорожец можно человек 7 натолкать. Вопрос - еффективно ли ето?
Скажите пожалуйста, что вас побудило использовать C++ a не C, и какие его
особеености Вы использовали(
try/catch, templates, STL, (design patterns maybe), virtual functions, operator overloading, .. etc)
Интересно будет послушать.
У Страуструпа есть весьма интересная книжка - "Дизайн и эволюция языка С++". Не читали? Рекомендую. Одна из ключевых идей книги - "вы не платите за то, что не используете".
Не используете виртуальные функции - не будет никакой таблицы. Не инициализируете члены класса - не будет никаких лишних конструкторов (default ctor, инициализирующий члены default значениями, нормальный компилятор успешно соптимизирует).
Не используете виртуальные функции - не будет никакой таблицы. Не инициализируете члены класса - не будет никаких лишних конструкторов (default ctor, инициализирующий члены default значениями, нормальный компилятор успешно соптимизирует).
Нет не читал. Не читаю на русском техническую литературу. подозреваю, что ето "The Annotated C++ Reference Manual"..
Лежит на работе. Почитываю иногда главки. все вместе нет смысла читать. Надо будет домой забрать, пока не украли.
А че там?
По сути - если мы все выбросим - ето будет C, только написанный в формате C++.
Собственно тут 2 вопроса - почему хорош C++ и почему он плох с мелкими микроконтроллерами..
1. С появлением C++ стало легче разрабатывать большие проекты - можно все разбить на обьекты,
менять их, легко видна структура программы, и т.д.
2. Почему он плох для мелкоконтроллеров:
он скрывает связь с ресурсами - например внутри конструктора может быть другой new,
что сразу не очевидно. Операторы могут быть переопределены, и так далее..
Не очень прозрачен. Деструкторы - надо помнить что при выходе из скопа вызывается деструктор и т.д.
Не, я по жизни и на работе в основном на C++ программирую,
но когда дома на мелкоконтроллерах - лучше С