|
C++ и ООП для микроконтроллеров AVR |
|
|
|
 |
Ответов
|
May 10 2009, 10:56
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
Программирование в ООП обычно требует динамического выделения памяти. Что является чистым идиотизмом в embedded. Ибо в автокомпьютере, которые управляет зажиганием не должно быть ситуаций - "не могу выделить память для объекта". А в этм случае динамическое выделение лишается какого-либо смысла. Значит его вполне заменяет статическое. (Т.е. динамическое выделение памяти не имеющее отказов в условиях конечной памяти - есть статическое выделение). А это значит, что все объекты создаются заранее. А в системе где все заранее определено я бы использовал ООП исключительно из-за личных пристрастий (к примеру, нравится так абстрагироваться).
Я, лично, сишному менеджеру кучи не доверяю и никогда не использую. Неужели я могу доверять механизмам ООП, которые скрыты еще сильнее? Ембеддерская программа принципиально не должна содержать эксепшены.
Но я человек, который использует Си, как более удобный ассемблер (порок воспитания). Возможно, реальность - другая.
--------------------
On the road again (Canned Heat)
|
|
|
|
|
May 11 2009, 21:38
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(DpInRock @ May 10 2009, 13:56)  Программирование в ООП обычно требует динамического выделения памяти. Что является чистым идиотизмом в embedded. Ибо в автокомпьютере, которые управляет зажиганием не должно быть ситуаций - "не могу выделить память для объекта". А в этм случае динамическое выделение лишается какого-либо смысла. Значит его вполне заменяет статическое. (Т.е. динамическое выделение памяти не имеющее отказов в условиях конечной памяти - есть статическое выделение). И да и нет. Приведу простой пример: Устройство связано с компом по RS485 интерфейсу. По этому интерфейсу поступают команды под них выделяется память динамически. Объекты разных размеров и на этапе написания длина их неизвестна. При нехватке памяти - никакого краха не происходит. Просто приостанавливается подгрузка, до момента разгрузки памяти по мере исполнения команд. Всё это прекрасно работает на AVR. Это я не к ООП, а просто в отрицание что "динамическое выделение памяти ... является чистым идиотизмом в embedded".
|
|
|
|
Сообщений в этой теме
n_bogoyavlensky C++ и ООП для микроконтроллеров AVR May 10 2009, 06:21 Tcom Нравиться пишите на С++ для AVR. May 10 2009, 07:06 tAmega Смотря какой AVR, если 8 битные модели, то ООП это... May 10 2009, 07:11 Rst7 Цитатаи программировать на нем конечно можно, но п... May 10 2009, 07:44 tAmega Видел код на C++ для AVR, нашел единственное объя... May 10 2009, 09:01 Rst7 Цитатанашел единственное объяснение, для чего там ... May 10 2009, 09:10 Rst7 ЦитатаПрограммирование в ООП обычно требует динами... May 10 2009, 11:13 kurtis ЦитатаНикакого отношения динамическое выделение па... May 10 2009, 11:29 _Pasha Цитата(kurtis @ May 10 2009, 14:29) С++ ... May 10 2009, 12:29 Rst7 ЦитатаДык если взять STL
STL - это всего лишь удо... May 10 2009, 11:46 researcher Об ООП хорошо думаю , но в AVR ООП тесно.
Какая не... May 10 2009, 12:45 DpInRock ОП имеет смысл когда есть что наследовать и есть к... May 10 2009, 13:07 haker_fox Цитата(DpInRock @ May 10 2009, 22:07) ОП ... May 11 2009, 00:04 demiurg_spb Цитата(DpInRock @ May 10 2009, 17:07) А т... May 11 2009, 11:13 Rst7 ЦитатаВообще, как Вы можете говорить после этого о... May 11 2009, 07:23 dxp Мущщины! Вы бы сначала определились в терминах... May 11 2009, 09:29 Herz Цитата(dxp @ May 11 2009, 11:29) Мущщины... May 11 2009, 10:47 n_bogoyavlensky Цитата(dxp @ May 11 2009, 13:29) Мущщины... May 12 2009, 18:24  _Pasha Цитата(n_bogoyavlensky @ May 12 2009, 21... May 12 2009, 18:34   777777 Цитата(_Pasha @ May 12 2009, 22:34) Приех... May 13 2009, 04:00 Rst7 Цитатаклассы С++ как таковые - не ООП;
Как это? К... May 11 2009, 09:35 Непомнящий Евгений Цитата(Rst7 @ May 11 2009, 13:35) Как это... May 11 2009, 10:35 dxp Цитата(Rst7 @ May 11 2009, 16:35) Как это... May 11 2009, 11:12  megajohn Цитата(dxp @ May 11 2009, 19:22) ... кото... May 19 2014, 05:02   msalov Цитата(megajohn @ May 19 2014, 12:12) и п... May 19 2014, 05:12   Сергей Борщ Цитата(megajohn @ May 19 2014, 12:12) и п... May 19 2014, 05:14 Rst7 ЦитатаООП - это программирование, когда программа ... May 11 2009, 10:57 Rst7 ЦитатаКласс - это тип, определяемый пользователем.... May 11 2009, 11:52 dxp Цитата(Rst7 @ May 11 2009, 18:52) Я утвер... May 11 2009, 13:58 Rst7 ЦитатаОбъектно-ориентированные программы можно пис... May 11 2009, 14:46 dxp Цитата(Rst7 @ May 11 2009, 21:46) И вообщ... May 12 2009, 04:03  VladimirYU Цитата(dxp @ May 12 2009, 08:03) За ООП, ... May 12 2009, 06:54   dxp Цитата(VladimirYU @ May 12 2009, 13:54) А... May 12 2009, 11:31    VladimirYU Цитата(dxp @ May 12 2009, 15:31) Возможно... May 12 2009, 11:45     dxp Цитата(VladimirYU @ May 12 2009, 18:45) Я... May 12 2009, 13:40      singlskv Цитата(dxp @ May 12 2009, 17:40) Хм, инте... May 12 2009, 18:53       dxp Цитата(singlskv @ May 13 2009, 01:53) У м... May 13 2009, 03:24        singlskv Цитата(dxp @ May 13 2009, 07:24) SendMess... May 13 2009, 04:32         dxp Цитата(singlskv @ May 13 2009, 10:32) Опр... May 13 2009, 05:11          singlskv Цитата(dxp @ May 13 2009, 09:11) Ну да, в... May 13 2009, 05:39           dxp Цитата(singlskv @ May 13 2009, 12:39) А ч... May 13 2009, 06:26            singlskv Цитата(dxp @ May 13 2009, 10:26) Еще забы... May 13 2009, 15:41 Rst7 Цитатав условиях корпоративной разработки проектов... May 12 2009, 07:00 yanvasiij Люди, поднял тему в связи с глубокой заинтересован... May 19 2014, 00:34 andrewlekar Во-первых, ООП вы напрасно определяете через терми... May 19 2014, 01:22 yanvasiij Цитата(andrewlekar @ May 19 2014, 11:32) ... May 19 2014, 02:23 doom13 Цитата(yanvasiij @ May 19 2014, 09:33) А ... May 19 2014, 03:12 kolobok0 Цитата(yanvasiij @ May 19 2014, 10:33) Сп... May 19 2014, 14:23 andrewlekar В scmRTOS посмотрите как обработчики сделаны. У ме... May 19 2014, 02:50 yanvasiij Цитата(andrewlekar @ May 19 2014, 13:00) ... May 19 2014, 04:05 doom13 Цитата(yanvasiij @ May 19 2014, 11:15) Не... May 19 2014, 04:58  Сергей Борщ Цитата(doom13 @ May 19 2014, 12:08) Ваши ... May 19 2014, 05:09   doom13 Цитата(Сергей Борщ @ May 19 2014, 12:19) ... May 19 2014, 06:03    Сергей Борщ Цитата(doom13 @ May 19 2014, 13:13) В так... May 19 2014, 07:48     doom13 Цитата(Сергей Борщ @ May 19 2014, 14:58) ... May 19 2014, 08:36      Сергей Борщ Цитата(doom13 @ May 19 2014, 15:46) Допус... May 19 2014, 09:01       doom13 Цитата(Сергей Борщ @ May 19 2014, 16:11) ... May 19 2014, 09:17        megajohn Цитата(doom13 @ May 19 2014, 17:27) Все п... May 19 2014, 09:25        Сергей Борщ Цитата(doom13 @ May 19 2014, 16:27) Все п... May 19 2014, 11:08 andrewlekar Цитатаможно ли объявлять объект - не создавать его... May 19 2014, 04:25 A. Fig Lee На маленьких задачах преимущества C++ не очевидны.... May 19 2014, 17:19 yanvasiij megajohn doom13 andrewlekar Сергей Борщ msalov Спа... May 20 2014, 00:22 yanvasiij - May 20 2014, 00:22 juvf смешали всё.
Ну во первых в avr-gcc от winavr не... May 21 2014, 23:22 andrewlekar В C99 тоже можно переменную непосредственно перед ... May 21 2014, 23:45 juvf ЦитатаСсылки полностью перекрываются указателямине... May 21 2014, 23:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|