Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
А выкидывать из класса неиспользуемые члены и методы это в IAR как нибудь возможно ?
Отправлено
MegaJohn
16 ноября 2009, г. 10:21
Составить ответ
|
Вернуться на конференцию.
Ответы
С членами только ручками, так как они эквивалентны полям структур в С. Невиртуальные методы для нормального линкера есть обычные функции, должна быть опция function level linking.
-
Oldring
(16.11.2009, 11:22:0
85.141.199.131
,
пустое
)
спасибо. Значит где особо туго с памятью придется дефайнить
-
MegaJohn
(16.11.2009, 12:45:34
81.222.85.88
,
пустое
)
Редкий случай, когда вместо "суть" написанго "есть", а не наоборот :)
-
Леонид Иванович
(16.11.2009, 11:53:54
87.252.227.56
,
пустое
)
Виртуальные методы выкидывать не6льзя, потому что неизвестно, вызываются они или нет.
-
Oldring
(16.11.2009, 11:29:24
85.141.199.131
,
пустое
)
понятно что нарушится размер этого типа данных
-
MegaJohn
(16.11.2009, 10:22:47
81.222.85.88
,
пустое
)
кончай ты с ООП в embedded. Правду говорю. Приведет к хроническому алкоголизму. Большинство эмбеддерских задач не требую ООП , зато требуют операционки а-ля FreeRTOS. Мой тебе совет,прошедшего все эти стадии, включая алкоголизм от ООП
-
DASM
(16.11.2009, 10:32:33
203.185.50.220
,
пустое
)
Ты эта, добавляй "на современном этапе" и "как правило". Давно ли перестали смотреть как на идиотов тех кто на С пытался проги для микроконтроллеров писать.
-
Codavr
(16.11.2009, 10:52:34
91.196.34.210
,
пустое
)
Были многочисленные попытки создать процессоры, подходящие к языкам с динамической типизацией и сборщиком мусора. Напр., "рекурсив"
-
Шунт_гороховый
(16.11.2009, 10:56:19
89.178.34.125
,
пустое
,
ссылка
)
у x86 тож не идеальная "динамика" памяти
-
вот_так
(16.11.2009, 11:02:40
95.27.79.108
, 453 байт)
просто я знаю что у него Мега, а не тот же АРМ или АВР32 с 64 мегами оперативы, MMU и прочими прелестями.
-
DASM
(16.11.2009, 10:55:25
203.185.50.220
,
пустое
)
Национальная индейская изба. Ща пишу под i80186, хотя смысл классов что и под AVR что и под x86 однофигсвенно
-
MegaJohn
(16.11.2009, 10:58:10
81.222.85.88
,
пустое
)
смысл одинаков. Надо только понять - а надо ли оно ? Ты спецификатор virtual часто юзаешь ? Если да - С++ тебе нужен. Если нет - нафиг он.
-
DASM
(16.11.2009, 11:02:20
203.185.50.220
,
пустое
)
А инкапсуляция?! Ведь красиво SPI::Send("Работать бля!");
-
Tima
(16.11.2009, 11:33:17
85.26.183.148,94.246.126.116
,
пустое
)
SPI::Send ? Вызов статического метода ? Ну и в чем прелесть ? На сях тоже самое будет. Реально удобно - это когда на конвеере обрабатывается потомки некого класса с виртуальными методами. Конвеер ничего не знает о потомках, но вызывается нужная реализация всегда. А все остальное - просто упаковка возможностей С в иной синтаксис. RTTY и перегрузку операторов не трогаю пока. Тоже удобно, но не необходимо
-
DASM
(16.11.2009, 11:38:14
203.185.50.220
,
пустое
)
Перегрузка операторов удобна, пока тот кто до тебя не перегрузил их покурив травки.
-
Codavr
(16.11.2009, 11:46:41
91.196.34.210
,
пустое
)
И ваще C++ хорош пока код подробнейшим образом документируется.
-
Codavr
(16.11.2009, 11:52:44
91.196.34.210
,
пустое
)
ничего лучше, чем самоговорящие имена функций и переменных не видел. С или ++ - разницы ноль
-
DASM
(16.11.2009, 13:04:57
203.185.50.220
,
пустое
)
краткость сестра таланта :)
-
Codavr
(16.11.2009, 11:06:22
91.196.34.210
,
пустое
)
не перестали
-
argus98
(16.11.2009, 10:55:12
81.22.205.230
,
пустое
)
зато как это красиво[+]
-
MegaJohn
(16.11.2009, 11:03:24
81.222.85.88
, 728 байт)
и чо ? Чистый С
-
DASM
(16.11.2009, 11:05:48
203.185.50.220
,
пустое
)
вообще то читай пост выше и еще выше
-
MegaJohn
(16.11.2009, 11:17:37
81.222.85.88
,
пустое
)
вообще-то я не понял что ты хочешь. тебе 2 байта жалко для указателя member ?
-
DASM
(16.11.2009, 11:19:53
203.185.50.220
,
пустое
)
Речь идет об 8 байт озу для свойства и х.з. байт для метода, и это для 10 экземпляров. Для Mega8 существенно.
-
MegaJohn
(16.11.2009, 11:55:57
81.222.85.88
,
пустое
)
Дима ! Чему ты учиш ? :)
-
miv
(16.11.2009, 10:45:4
192.168.7.28,84.52.111.234
,
пустое
)
Дядька в правильном направлении гребёт :))
-
miv
(16.11.2009, 10:45:52
192.168.7.28,84.52.111.234
,
пустое
)
это грЕбля в направлении "напишу такой код, что хер кто разберет, и хер кто уволит" . ООП хороша в сложным системах типа сервер-клиент с множеством клиентов разного типа, также она хороша для организации UI .. но в мелких мегах от нее один гемморой. Особенно когда вендор проца дает кучу образцового кода на С, а тебе это потом инкапсулировать в С++. Сиди блин и описывай extern "C". Предпочитаю деньги получать, а не программировать
-
DASM
(16.11.2009, 11:00:25
203.185.50.220
,
пустое
)
extern "C" { #include... }
-
Oldring
(16.11.2009, 11:19:6
85.141.199.131
,
пустое
)
и получаю error типа какая - нить несчастная abs() переопределена с разным типом вызова.. Не стал пока вдаваться в подробности, девайс был заработал за час до отправки на выставку - забил на все это. Потом буду разбираться. PS НЕНАВИЖУ макросы
-
DASM
(16.11.2009, 11:23:20
203.185.50.220
,
пустое
)
Скорее всего конфликт между сишным и плюсовым кодом. Искуственный. Кстати, современный сишный код под плюсами в большинстве случаев нормально компилируется.
-
Oldring
(16.11.2009, 11:26:54
85.141.199.131
, 93 байт)
так это да. Мне С++ нравится, даже если классы не нужны. Хотя бы произвольным порядком объявления переменных. Пару фич из С99 добавили бы - коммунизм наступит
-
DASM
(16.11.2009, 11:31:43
203.185.50.220
,
пустое
)
ООП вообще мало где хороша (единственное подходящее применение - граф. интерфейс пользователя). Её сейчас только ленивый не критикует
-
Шунт_гороховый
(16.11.2009, 11:07:31
89.178.34.125
,
пустое
,
ссылка
)
Ответ: А ты сам то пробовал "попробовать" ?
-
Тумблер
(16.11.2009, 18:50:5
194.186.242.78
,
пустое
)
Попробовать что?
-
Шунт_гороховый
(16.11.2009, 18:55:30
89.178.34.125
,
пустое
)
Использовать ООП , конечно.
-
Тумблер
(16.11.2009, 20:36:48
194.186.242.78
,
пустое
)
Пробовал им не пользоваться, но безуспешно - ООП хуже тараканов - его китайским мелком не выведешь. :) Кстати, то, что понимают под термином "ООП" Си-программисты, вовсе не является ООП. :)
-
Шунт_гороховый
(16.11.2009, 22:25:15
89.178.34.125
,
пустое
)
я бы так не сказал. Вещь отличная, и Страуструп мужик недюжинного ума. Просто каждому инструменту - свои гвозди
-
DASM
(16.11.2009, 11:15:23
203.185.50.220
,
пустое
)
ну и фигле, передалаю всё на структуры, и буду вызывать функции с указателями на структуры, а смысл то все тот же останется - плюсовый
-
MegaJohn
(16.11.2009, 10:43:50
81.222.85.88
,
пустое
)
а за "кучей" кто следить будет ?
-
вот_так
(16.11.2009, 10:51:9
95.27.79.108
, 103 байт)
динамическое выделение памяти не использую, ибо состав системы заранее известен.
-
MegaJohn
(16.11.2009, 10:54:29
81.222.85.88
,
пустое
)
а как ты это запретишь языку делать ?)
-
вот_так
(16.11.2009, 11:07:38
95.27.79.108
,
пустое
)
об чем спич ? Без явного вызова malloc/new heap вообще не затрагивается и можно выставить ее размер в ноль
-
DASM
(16.11.2009, 11:13:51
203.185.50.220
,
пустое
)
состав системы известен только до фразы начальника "я вчера плохо спал, и мне пришла идея, а не добавить ли нам... "
-
DASM
(16.11.2009, 11:03:56
203.185.50.220
,
пустое
)
ну будет не N а N+1 экземпляров класса. Делов то
-
MegaJohn
(16.11.2009, 11:16:41
81.222.85.88
,
пустое
)
N+1 но уже других :)))
-
Codavr
(16.11.2009, 11:20:5
91.196.34.210
,
пустое
)
классов
-
Codavr
(16.11.2009, 11:20:37
91.196.34.210
,
пустое
)
значит у тебя хороший начальник
-
DASM
(16.11.2009, 11:17:31
203.185.50.220
,
пустое
)
да FreeRTOS удобная штука, после того как выкинуть ненужное и засунуть нужное
-
вот_так
(16.11.2009, 10:35:22
95.27.79.108
, 219 байт)
мне TNkernel больше по душе, но портировать на АВР32 нету времени.
-
DASM
(16.11.2009, 10:53:51
203.185.50.220
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 13:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru