Сообщение Re[30]: Поугараем над С++ комьюнити? от 16.11.2017 13:24
Изменено 16.11.2017 23:47 vdimas
Re[30]: Поугараем над С++ комьюнити?
Здравствуйте, landerhigh, Вы писали:
V>>на которых использование С++ не имеет смысла (типа Arduino/AVR)
L>На AVR использование плюсов как раз имеет очень много бенефитов. Как тебе реализация КА через шаблонную магию, например? Алгоритмы те же прекрасно работают. Динамической памяти нет, ну и хрен с ней.
Да там помимо отсутствия new, есть еще куча приколов:
1. Стек данных и стек возврата независимы;
2. Стек возвратов аппаратный, стек данных — сугубо эмулируемый программный.
Т.е., реализация той самый "раскрутки стека" будет тяжелым мероприятием в том смысле, что подготовить десткрипторы фреймов стеков перед вызовом каждой ф-ии — это хана производительности. Итого RAII не имеет смысла, как и new.
А если взять PIC или x51, то там тоже в наличии лишь стеки возвратов, причём, глубиной всего 8. ))
В некоторых архитектурах стеки можно переключать (т.н. банки стеков).
Например, обработчик прерываний может переключиться на свой банк стеков.
Прикладная программа в этой схеме располагает глубиной стека аж 7, бо еще один уровень надо оставлять для обработчика прерываний. ))
Кароч, там куда ни ткни — овчинка выделки не стоит.
V>>на которых использование С++ не имеет смысла (типа Arduino/AVR)
L>На AVR использование плюсов как раз имеет очень много бенефитов. Как тебе реализация КА через шаблонную магию, например? Алгоритмы те же прекрасно работают. Динамической памяти нет, ну и хрен с ней.
Да там помимо отсутствия new, есть еще куча приколов:
1. Стек данных и стек возврата независимы;
2. Стек возвратов аппаратный, стек данных — сугубо эмулируемый программный.
Т.е., реализация той самый "раскрутки стека" будет тяжелым мероприятием в том смысле, что подготовить десткрипторы фреймов стеков перед вызовом каждой ф-ии — это хана производительности. Итого RAII не имеет смысла, как и new.
А если взять PIC или x51, то там тоже в наличии лишь стеки возвратов, причём, глубиной всего 8. ))
В некоторых архитектурах стеки можно переключать (т.н. банки стеков).
Например, обработчик прерываний может переключиться на свой банк стеков.
Прикладная программа в этой схеме располагает глубиной стека аж 7, бо еще один уровень надо оставлять для обработчика прерываний. ))
Кароч, там куда ни ткни — овчинка выделки не стоит.
Re[30]: Поугараем над С++ комьюнити?
Здравствуйте, landerhigh, Вы писали:
V>>на которых использование С++ не имеет смысла (типа Arduino/AVR)
L>На AVR использование плюсов как раз имеет очень много бенефитов. Как тебе реализация КА через шаблонную магию, например? Алгоритмы те же прекрасно работают. Динамической памяти нет, ну и хрен с ней.
Да там помимо отсутствия new, есть еще куча приколов:
1. Стек данных и стек возврата независимы;
2. Стек возвратов аппаратный, стек данных — сугубо эмулируемый программный.
Т.е., реализация той самой "раскрутки стека" будет тяжелым мероприятием в том смысле, что подготовить десткрипторы фреймов стеков перед вызовом каждой ф-ии — это хана производительности. Итого RAII не имеет смысла, как и new.
А если взять PIC или x51, то там тоже в наличии лишь стеки возвратов, причём, глубиной всего 8. ))
В некоторых архитектурах стеки можно переключать (т.н. банки стеков).
Например, обработчик прерываний может переключиться на свой банк стеков.
Прикладная программа в этой схеме располагает глубиной стека аж 7, бо еще один уровень надо оставлять для обработчика прерываний. ))
Кароч, там куда ни ткни — овчинка выделки не стоит.
V>>на которых использование С++ не имеет смысла (типа Arduino/AVR)
L>На AVR использование плюсов как раз имеет очень много бенефитов. Как тебе реализация КА через шаблонную магию, например? Алгоритмы те же прекрасно работают. Динамической памяти нет, ну и хрен с ней.
Да там помимо отсутствия new, есть еще куча приколов:
1. Стек данных и стек возврата независимы;
2. Стек возвратов аппаратный, стек данных — сугубо эмулируемый программный.
Т.е., реализация той самой "раскрутки стека" будет тяжелым мероприятием в том смысле, что подготовить десткрипторы фреймов стеков перед вызовом каждой ф-ии — это хана производительности. Итого RAII не имеет смысла, как и new.
А если взять PIC или x51, то там тоже в наличии лишь стеки возвратов, причём, глубиной всего 8. ))
В некоторых архитектурах стеки можно переключать (т.н. банки стеков).
Например, обработчик прерываний может переключиться на свой банк стеков.
Прикладная программа в этой схеме располагает глубиной стека аж 7, бо еще один уровень надо оставлять для обработчика прерываний. ))
Кароч, там куда ни ткни — овчинка выделки не стоит.