реклама на сайте
подробности

 
 
> Embedded C++, Кто какие библиотеки использует?
segment
сообщение Oct 28 2010, 12:12
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 352
Регистрация: 10-08-06
Из: Санкт-Петербург
Пользователь №: 19 471



Я не начинаю очередной холивар по поводу того что C++ не нужен для микроконтроллеров и прочее. Поэтому те, кто хочет поспорить - приводите убедительные факты куда угодно, но не в эту тему.

Само собой использование STL в программе под микроконтроллер сомнительно, так как, к примеру, работа с STL в Keil uVision 4 (видимо их порт STL) обходится в минимум 40 Кбайт (собрал пример из Keil examples). Поэтому выходом из этой ситуации вижу использование либо специальных готовых light библиотек либо написание базовых шаблонов/классов самому. Но так уже стадия "начинающий и все хочу попробовать" прошла уже давно, поэтому писать самому не сильно тянет.
Кто какие C++ библиотеки использует для работы с периферией и данными?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
haker_fox
сообщение Sep 5 2012, 23:51
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Да, Си++ иногда тянет за собой кучу ненужного и тяжелого (полагаю, что и Си иногда тоже). На AVR я с этим не сталкивался, но столкнулся на ARM7TDMI, когда захотел использовать динамическую память (оператор new). Как только использовал, так код с 40 кБ вырос до 300 кБ. Пока чихаю на это, т.к. идет отладка. Но потом хочу прикрутить "легкую" реализацию менеджера памяти, любезно представленного уважаемым zltigo, и не менее любезно адаптированным к Си++ уважаемым Сергеем Борщем.
От исключений пока отказался, там что-то чудесное и невероятное творится как с размером, так и компиляцией. Но мне оно сейчас не особо нужно, а вот без динамического выделения памяти очень плохо.

Как-то так.

Ну в общем подходишь к этому вопросу с необходимой долей разума. Где готовое используешь, где адаптируешь, где свое накропаешь)


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
alx2
сообщение Sep 7 2012, 05:16
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(haker_fox @ Sep 6 2012, 04:51) *
Да, Си++ иногда тянет за собой кучу ненужного и тяжелого
А что именно? Мне кроме исключений (которые можно отключить при компиляции) ничего в голову не приходит...

Цитата(haker_fox @ Sep 6 2012, 04:51) *
На AVR я с этим не сталкивался, но столкнулся на ARM7TDMI, когда захотел использовать динамическую память (оператор new). Как только использовал, так код с 40 кБ вырос до 300 кБ.
Пока чихаю на это, т.к. идет отладка. Но потом хочу прикрутить "легкую" реализацию менеджера памяти, любезно представленного уважаемым zltigo, и не менее любезно адаптированным к Си++ уважаемым Сергеем Борщем.
Сейчас провел "экспресс-тест". Весь код программы, использующей new и delete, составил меньше 9 килобайт (arm7tdmi). Почему у Вас new/delete потянули дополнительные 260 килобайт, ума не приложу. Тем более, что Вы не используете исключения... В любом случае, к языку C++ как таковому это не имеет отношения. Напротив, наличие в языке этих операторов (и, главное, возможность их перегружать по своему усмотрению) дает программисту возможность более тонко контролировать работу с памятью. В тривиальном случае new/delete могут работать через malloc/free и, таким образом, ничем не будут отличаться от аналогичного кода на языке C. Ничего "ненужного" эти операторы сами по себе не "тянут".


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
Marto
сообщение Sep 8 2012, 18:15
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 103
Регистрация: 17-05-09
Из: Ижевск
Пользователь №: 49 190



Цитата(alx2 @ Sep 7 2012, 10:16) *
А что именно? Мне кроме исключений (которые можно отключить при компиляции) ничего в голову не приходит...



RTTI - даже на декстопе забавная штукаsm.gif


--------------------
Шизоидный холерик
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Сега   Embedded C++   Oct 28 2010, 12:12
- - Forger   Я использую исключительно свои библиотеки. Писать ...   Oct 28 2010, 12:54
|- - ar__systems   Цитата(Forger @ Oct 28 2010, 07:54) В при...   Oct 28 2010, 14:27
- - scifi   Не знаю, насколько актуально, но вдруг пригодится:...   Oct 28 2010, 14:31
- - Petr_I   Цитата(Сега @ Oct 28 2010, 16:12) ... вых...   Oct 28 2010, 15:17
- - Сега   К моему удивлению, в Keil есть поддержка исключени...   Oct 28 2010, 18:02
|- - ig_z   QUOTE (Сега @ Oct 28 2010, 21:02) К моему...   Oct 28 2010, 19:07
- - beaRTS   А давайте помусолим uSTL (ссылка была раньше). 1....   Sep 4 2012, 09:28
- - Major   Использую для ARM (всех) компилятор C++ и очень до...   Sep 4 2012, 09:58
- - beaRTS   Спасибо! а на вопросы кто-нибудь прольет свет...   Sep 5 2012, 02:14
|- - Сергей Борщ   QUOTE (beaRTS @ Sep 5 2012, 05:14) Просто...   Sep 5 2012, 05:53
|- - beaRTS   Цитата(Сергей Борщ @ Sep 5 2012, 08:53) м...   Sep 5 2012, 07:21
- - Major   Использую и на 128КБайт и на 256МБайт (тут уже лин...   Sep 5 2012, 12:32
|- - beaRTS   Цитата(Major @ Sep 5 2012, 15:32) Зачем п...   Sep 5 2012, 14:53
|- - haker_fox   QUOTE (alx2 @ Sep 7 2012, 14:16) Почему у...   Sep 9 2012, 00:58
|- - alx2   Цитата(haker_fox @ Sep 9 2012, 05:58) А в...   Sep 10 2012, 05:11
|- - haker_fox   QUOTE (alx2 @ Sep 10 2012, 13:11) Но Вы-т...   Sep 11 2012, 05:56
|- - haker_fox   В общем new (std::nothrow) объем кода не уменьшает...   Sep 12 2012, 13:54
|- - _Артём_   Цитата(haker_fox @ Sep 12 2012, 16:54) В ...   Sep 12 2012, 14:13
|- - AHTOXA   Цитата(haker_fox @ Sep 12 2012, 19:54) В ...   Sep 12 2012, 14:17
|- - haker_fox   QUOTE (AHTOXA @ Sep 12 2012, 22:17) Вообщ...   Sep 13 2012, 01:18
|- - AHTOXA   А если взять kgp? Или попробуйте скомпилировать пр...   Sep 13 2012, 02:33
||- - haker_fox   QUOTE (AHTOXA @ Sep 13 2012, 10:33) А есл...   Sep 13 2012, 04:20
||- - AHTOXA   Цитата(haker_fox @ Sep 13 2012, 10:20) Ва...   Sep 13 2012, 05:03
||- - haker_fox   QUOTE (AHTOXA @ Sep 13 2012, 13:03) И как...   Sep 13 2012, 05:08
||- - DmitryM   Цитата(AHTOXA @ Sep 13 2012, 09:03) ЗЫ. У...   Sep 13 2012, 05:20
|- - alx2   Цитата(haker_fox @ Sep 13 2012, 06:18) Во...   Sep 13 2012, 04:21
|- - haker_fox   QUOTE (alx2 @ Sep 13 2012, 12:21) Насколь...   Sep 13 2012, 05:01
|- - haker_fox   QUOTE (haker_fox @ Sep 13 2012, 13:01) Пр...   Sep 13 2012, 05:21
- - Major   Указатели на структуры - это практически когда воз...   Sep 6 2012, 01:37
|- - beaRTS   Цитата(Major @ Sep 6 2012, 05:37) Указате...   Sep 6 2012, 02:19
|- - haker_fox   QUOTE (Major @ Sep 6 2012, 09:37) Во встр...   Sep 6 2012, 03:25
|- - ReAl   Цитата(haker_fox @ Sep 6 2012, 06:25) В м...   Sep 6 2012, 07:35
- - Major   Ну про пути я говорить не буду Есть мнения что C+...   Sep 6 2012, 03:09
|- - beaRTS   Цитата(Major @ Sep 6 2012, 07:09) Есть мн...   Sep 6 2012, 04:23
|- - dxp   QUOTE (beaRTS @ Sep 6 2012, 11:23) чую - ...   Sep 6 2012, 06:59
|- - beaRTS   Цитата(dxp @ Sep 6 2012, 10:59) Да не, ни...   Sep 6 2012, 07:16
|- - sasamy   Цитата(dxp @ Sep 6 2012, 10:59) Да не, ни...   Sep 7 2012, 17:41
|- - dxp   QUOTE (sasamy @ Sep 8 2012, 00:41) Для чи...   Sep 8 2012, 02:49
|- - sasamy   Цитата(dxp @ Sep 8 2012, 06:49) Сегодня С...   Sep 9 2012, 22:30
- - Major   ЦитатаВот так и получается, что "поняв",...   Sep 6 2012, 05:10
- - halfdoom   Совсем не давно, после длительного обсуждения с за...   Sep 8 2012, 03:50
|- - dxp   А что это вот такое: CODEC++-code requires signifi...   Sep 8 2012, 05:54
|- - _Pasha   Цитата(dxp @ Sep 8 2012, 08:54) А что это...   Sep 8 2012, 09:14
||- - dxp   QUOTE (_Pasha @ Sep 8 2012, 16:14) Они по...   Sep 8 2012, 09:31
|- - halfdoom   Цитата(dxp @ Sep 8 2012, 08:54) Какой смы...   Sep 8 2012, 09:45
|- - dxp   QUOTE (halfdoom @ Sep 8 2012, 16:45) Эти ...   Sep 8 2012, 10:02
- - Major   Еще раз вмешаюсь. C++ это язык, возможности которо...   Sep 8 2012, 06:10
- - mikeT   Заинтересовало упоминание языка Ада в задачах, где...   Sep 8 2012, 10:33
|- - halfdoom   Цитата(mikeT @ Sep 8 2012, 13:33) SafetyC...   Sep 8 2012, 11:22
|- - SSerge   Цитата(mikeT @ Sep 8 2012, 17:33) и ниже ...   Sep 8 2012, 13:28
- - andrewlekar   Ada, насколько я знаю, очень хороший язык. Ну а er...   Sep 10 2012, 05:25
- - beaRTS   наткнулся на статью интересную Паттерны проектиров...   Oct 3 2012, 07:05
|- - kolobok0   Цитата(beaRTS @ Oct 3 2012, 11:05) ...кто...   Oct 5 2012, 09:56
|- - beaRTS   Цитата(kolobok0 @ Oct 5 2012, 13:56) И от...   Oct 8 2012, 04:34
|- - kolobok0   Цитата(beaRTS @ Oct 8 2012, 08:34) ...пат...   Oct 8 2012, 09:37
|- - beaRTS   Цитата(kolobok0 @ Oct 8 2012, 13:37) я о ...   Oct 8 2012, 09:54
- - globalist   C++ замечательный язык. Только надо уметь им польз...   Oct 9 2012, 21:26


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 15:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016