Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: С++ Наследование классов в CCS5.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
AlexOr
Смотрю map файл в секции text.
Есть базовый класс 4 КБ.
Дочерний класс 5 КБ , а он содержит буквально несколько нехитрых строк.
Получается, что дочерний включил в себя ВЕСЬ код родителя.

Что-то я не понимаю ООП на микроконтроллерах. Как так?
Получается написал пять строк и забил всю память.
Как заставить компилятор видеть, что основная часть кода одинакова у родителя и потомка?
DASM
все же, как вы выяснили размер кода, обслуживающего класс? Есть ли оптимизация? функции методы наследованы виртуально (хотя это значения не должно иметь)? Листинг?
thodnev
при наследовании в плюсах, потомок включает весь код родителя, дополняя его своими методами, полями и т.д. Ничего не поделаешь, разве что сделать больше приватных методов, включить -О3, возможно вызывать функции при помощи расширения, т.е. Class:function1();
На плюсах не пишу, больше ничем не могу помочь
dxp
QUOTE (thodnev @ Aug 21 2013, 03:19) *
при наследовании в плюсах, потомок включает весь код родителя, дополняя его своими методами, полями и т.д. Ничего не поделаешь

При этом исполняемый код не должен раздуваться. Т.е. если класс имеет функций-членов на 4 кбайта и его наследник вводит ещё своих пару, то общий объём кода должен увеличиться только на эти пару функций - остальные наследник будет использовать из базового. А у ТС аномалия, по его словам, - добавил наследник и код увеличился в два раза.
DASM
гм, а функция надеюсь не printf (cos(rand)) была ? sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.