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

 
 
> winAVR и С++
zaman
сообщение Aug 7 2006, 07:08
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 21-06-06
Пользователь №: 18 253



Как сконфигурировать makefile, чтобы компилятор понимал программу для мк не на С, а на С++.
Начал писать программу на С++, с использванием классов, а компилятор выдал, что не понимает классы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mdmitry
сообщение May 10 2007, 20:04
Сообщение #2


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



>mdmitry, dxp, не начинайте религиозный спор.
Религиозные споры не люблю!

1. С++ можно использовать как расширенный вариант С (сам так делал на этапе изучения С++).
2. Использовать собственно С++, то есть особенности языка, а именно, классы, исключения и др. Надежность разработки выше из-за наличия механизмов защиты данных. Возникнут накладные расходы (пример, таблицы виртуальных функций), если скорость работы устраивает , то все в порядке. НО в контроллерах обычно с запасом ресурсов не все благополучно.

На мой взгляд, обрабатывать файл С компилятором С++ не эффективно из-за отсутствия конструкций языка, ориентированного на компилятор.
Идеология разработки обеспечения на С и С++ сильно различается (процедурно и объекто-ориентированные языки)(IMHO).

Сообщение отредактировал mdmitry - May 10 2007, 20:07


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
dxp
сообщение May 11 2007, 05:30
Сообщение #3


Adept
******

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



Цитата(mdmitry @ May 11 2007, 03:04) *
>mdmitry, dxp, не начинайте религиозный спор.
Религиозные споры не люблю!

Аналогично. beer.gif Просто расставим точки над 'i'.

Цитата(mdmitry @ May 11 2007, 03:04) *
1. С++ можно использовать как расширенный вариант С (сам так делал на этапе изучения С++).

Согласен, на начальном этапе перехода от С к С++ можно. Но лучше уже и тут вникать в идеологию ++ и долго не засиживаться на "улучшенном С".

Цитата(mdmitry @ May 11 2007, 03:04) *
2. Использовать собственно С++, то есть особенности языка, а именно, классы, исключения и др.

Вот исключения в МК - это определенно лишнее. Еще можно поспорить про RTTI, но остальное прекрасно ложится на любой МК, который дружит с С.

Цитата(mdmitry @ May 11 2007, 03:04) *
Надежность разработки выше из-за наличия механизмов защиты данных. Возникнут накладные расходы (пример, таблицы виртуальных функций), если скорость работы устраивает , то все в порядке. НО в контроллерах обычно с запасом ресурсов не все благополучно.

Здесь не согласен. Виртуальные функции почти не несут накладных расходов: попробуйте реализовать ту же самую функциональность на голом С - у Вас появятся те же таблицы указателей на функции. Только работать с ними придется руками (инициализация, обращение), что гораздо сильнее чревато ошибками. Единственной вещью, которую можно отнести к накладным расходам и от которой не уйти - это наличие указателя vptr в каждом объекте класса. Но накладные такого размера совсем не портят жизнь даже на мелких AVR.

Цитата(mdmitry @ May 11 2007, 03:04) *
Идеология разработки обеспечения на С и С++ сильно различается (процедурно и объекто-ориентированные языки)(IMHO).

С++ не является только лишь объектно-ориентированным - он поддерживает различные способы/методы (парадигмы) программирования - в какой-то книжке так и было написано "мультипарадигменный ЯП" (книжку точно не скажу, насколько помню, это "Дизайн и эволюция С++" Б.Срауструпа, но могу ошибаться). Т.е. на С++ можно одновременно использовать и процедурное программирование, и объектно-ориентированное и даже в каком-то виде функциональное, хотя напрямую сам ЯП это не поддерживает и достигается это с помощью сторонних библиотек.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zaman   winAVR и С++   Aug 7 2006, 07:08
- - Tiro   Открыть файл winavr/doc/gcc/gcc.pdf и прочитать ра...   Aug 7 2006, 12:09
- - bullit   А как настроить AVRStudio на работу с С++(GCC(WinA...   May 8 2007, 18:58
- - Dibor   Незнаю как другие, но у меня не получилось сконфиг...   May 9 2007, 19:38
|- - mdmitry   Цитата(Dibor @ May 9 2007, 23:38) Незнаю ...   May 9 2007, 20:17
|- - dxp   Цитата(mdmitry @ May 10 2007, 03:17) Вопр...   May 10 2007, 11:40
- - bullit   Не С не С++ я хорошо не знаю. Так основы. На работ...   May 10 2007, 08:01
- - forever failure   Отличия между C и C++ достаточно велики, независим...   May 10 2007, 11:02
- - IgorKossak   mdmitry, dxp, не начинайте религиозный спор. ----...   May 10 2007, 11:44
- - bullit   А некто не знает почему в AVRStudio нет поддержки ...   May 10 2007, 17:15
|- - IgorKossak   Цитата(bullit @ May 10 2007, 20:15) А нек...   May 10 2007, 20:23
|- - bullit   Цитата(IgorKossak @ May 11 2007, 02:23) А...   May 11 2007, 04:38
- - forever failure   Уже ведь сказали выше - создаёте в проекте свой Ma...   May 11 2007, 05:42
- - mdmitry   2 dxp Сказано было: пример, таблицы виртуальных фу...   May 11 2007, 20:26
|- - bullit   Цитата(mdmitry @ May 12 2007, 02:26) 2 dx...   May 12 2007, 08:19
|- - dxp   Цитата(mdmitry @ May 12 2007, 03:26) 2 dx...   May 13 2007, 12:53
|- - mdmitry   Цитата(dxp @ May 13 2007, 16:53) И отвече...   May 13 2007, 16:15
- - bullit   Цитата>Или чего-то в AVRStudio нехватает? В воп...   May 14 2007, 04:08


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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 17:57
Рейтинг@Mail.ru


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