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

 
 
> С++ Наследование классов в CCS5., память кончилась...
AlexOr
сообщение Aug 19 2013, 18:57
Сообщение #1


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

Группа: Свой
Сообщений: 89
Регистрация: 30-12-04
Из: Санкт-Петербург
Пользователь №: 1 754



Смотрю map файл в секции text.
Есть базовый класс 4 КБ.
Дочерний класс 5 КБ , а он содержит буквально несколько нехитрых строк.
Получается, что дочерний включил в себя ВЕСЬ код родителя.

Что-то я не понимаю ООП на микроконтроллерах. Как так?
Получается написал пять строк и забил всю память.
Как заставить компилятор видеть, что основная часть кода одинакова у родителя и потомка?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
thodnev
сообщение Aug 20 2013, 20:19
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 20-01-13
Из: Украина, Киев
Пользователь №: 75 259



при наследовании в плюсах, потомок включает весь код родителя, дополняя его своими методами, полями и т.д. Ничего не поделаешь, разве что сделать больше приватных методов, включить -О3, возможно вызывать функции при помощи расширения, т.е. Class:function1();
На плюсах не пишу, больше ничем не могу помочь
Go to the top of the page
 
+Quote Post
dxp
сообщение Aug 21 2013, 03:20
Сообщение #3


Adept
******

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



QUOTE (thodnev @ Aug 21 2013, 03:19) *
при наследовании в плюсах, потомок включает весь код родителя, дополняя его своими методами, полями и т.д. Ничего не поделаешь

При этом исполняемый код не должен раздуваться. Т.е. если класс имеет функций-членов на 4 кбайта и его наследник вводит ещё своих пару, то общий объём кода должен увеличиться только на эти пару функций - остальные наследник будет использовать из базового. А у ТС аномалия, по его словам, - добавил наследник и код увеличился в два раза.


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



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 14:42
Рейтинг@Mail.ru


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