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

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Объектно-ориентированные программы можно писать и без классов - даже на ассемблере. И так и делали, пока не появился более удобный для этого инструментарий. Конечно. Но для этого необходимо сделать какой-то унифицированный способ описания объектов. Аля класс. Т.е. "тип, описывающий устройство объектов". Не путайте класс-ключевое_слово_плюсов и класс-понятие_ООП(тип, описывающий устройство объектов). Цитата Поверьте, даже без ООП все эти перечисленные возможности Что-то разговор не о том. Топикстартер про использование ООП. А мы? И вообще, чего Вы на меня напали?  Прочтите топик, разве я где-то утверждал про накладные расходы? Разве я отговаривал топикстартера от ООП?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
May 12 2009, 04:03
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(Rst7 @ May 11 2009, 21:46)  И вообще, чего Вы на меня напали?  Прочтите топик, разве я где-то утверждал про накладные расходы? Разве я отговаривал топикстартера от ООП? Да, что вы, я совсем не напал.  И не на вас - т.е. посты-то ко всем адресованы. Просто мне показалось, что народ считает, что ООП - это любые С++'ные фишки. Вот и постарался внести ясность. За ООП, кстати, не агитирую - эта вещь хороша к месту, и пихать куда попало ее - наживать геморрой. А вот классы сами по себе штука универсальная, и их можно использовать практически без ограничений, в том числе и на AVR. (это тоже ко всем, не только к вам  ).
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
May 12 2009, 06:54
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(dxp @ May 12 2009, 08:03)  За ООП, кстати, не агитирую - эта вещь хороша к месту, и пихать куда попало ее - наживать геморрой. А вот классы сами по себе штука универсальная, и их можно использовать практически без ограничений, в том числе и на AVR. (это тоже ко всем, не только к вам  ). А я бы агитировал за ООП, в условиях корпоративной разработки проектов и их дальнейшего сопровождения альтернативы ООП ИМХО не вижу.
|
|
|
|
|
May 12 2009, 11:45
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(dxp @ May 12 2009, 15:31)  Возможно, вы имели в виду объектное программирование? Т.е. использование классов/объектов? Или именно ООП? Я именно имел в виду объектно-ориентированный подход к проетированию пограммы, конечно с использованием классов. Но классоы это лишь инструмент. Для меня в свое время это была настоящая ломка перейти к идеологии ООП (с С на С++), но это сугубо личные впечатления. У нас в конторе было чуть ли не табу на использование ++ и ООП для программирования МК, пока мы с напарником за почти два года на собственных примерах (проектах) не сломали этот стереотип.
|
|
|
|
|
May 12 2009, 13:40
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(VladimirYU @ May 12 2009, 18:45)  Я именно имел в виду объектно-ориентированный подход к проетированию пограммы, конечно с использованием классов. Хм, интересно... Ну, а вот на примере, скажем. Вот пусть есть дивайс, который выполняет какие-то функции: измеряет температуру на объекте, управляет нагревательным элементом, опрашивает органы управления (кнопки, энкодер и т.п.), выводит соответствующую индикацию, общается с терминалом и т.д. Вот где тут применить ООП? Не, я понимаю, конечно, что "за уши" можно все притянуть - например, создать самый базовый класс TSomething, от него родить класс TInput, от которого родить классы TTempGauge, TButton, TEncoder, от TSomthing родить TOutput, от которого TIndicator и т.п. Но это как-то не выглядит адекватным и логичным, потому что нативной связи между всеми этими классами просто нет. И нет необходимости (да и возможности) рулить поведением объектов производных классов через интерфейс базового. Вот просто создать классы, описывающие составные функциональные части проекта, - это да, правильно и логично. Тут есть смысл, и это даст эффект. Только это не ООП, а объектный подход.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
Сообщений в этой теме
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 DpInRock Программирование в ООП обычно требует динамическог... May 10 2009, 10:56 SasaVitebsk Цитата(DpInRock @ May 10 2009, 13:56) Про... May 11 2009, 21:38 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      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
|
|
|