170 похожих чатов

Почему динамические аллокции в прошивках - зло ?

24 ответов

33 просмотра

Да нет, аллоцируй. пожалуйста...

Они везде зло, если они лишние

Даю слово @DymOK

1. Не всегда они возможны в принципе 2. Возможны не при всех уровнях IRQ(L) 3. Могут привести к нежелательному захвату блокировок (мьютексов и т.п., пулы Windows не в счёт) 4. Зачастую относительно медленные 5. Приводят к фрагментации памяти, механизмы борьбы с которой предусмотрены не везде

Почему зло-то? Кто тебе такое сказал?

Aleksei-Budyakov Автор вопроса
Ilya Zviagin
Почему зло-то? Кто тебе такое сказал?

Да в фреймоврке отказались от использования плюсов пушто там много динамических аллокаций, а фреймворк для микроконтроллеров. Вот я и подумал почему там это плохо

Aleksei-Budyakov Автор вопроса
Dmitriy [Отпуск]
1. Не всегда они возможны в принципе 2. Возможны н...

А в каких случаях это не возможно? И что такое IRQ(L) ?

Aleksei Budyakov
Да в фреймоврке отказались от использования плюсов...

Кто мешает написать фреймворк, в котором не надо будет выделять память?

Aleksei Budyakov
Да в фреймоврке отказались от использования плюсов...

В плюсах динамических аллокаций столько же, сколько в Си

Aleksei-Budyakov Автор вопроса
Ilya Zviagin
Кто мешает написать фреймворк, в котором не надо б...

Там фреймворк поверх сишного апи, они хотели прослойку тонкую типа

Aleksei Budyakov
Там фреймворк поверх сишного апи, они хотели просл...

Ну и что? Хоти сколько угодно, только алокациев не делай и всё

Aleksei-Budyakov Автор вопроса
Danya🔥
В плюсах динамических аллокаций столько же, скольк...

Ну тут вопрос больше был про то почему на фирмваре плохо выделять дин память

Sergey Skvortsov
Что значит это?

То, что отказываться от С++ в сторону Си, потому что там "больше динамических аллокаций" - бред

Danya🔥
То, что отказываться от С++ в сторону Си, потому ч...

Я бы сказал, отказаться можно, но аргументы точно другие. С точки зрения минимального числа динамических аллокаций разницы не будет...

Dmitriy [Отпуск]
Я бы сказал, отказаться можно, но аргументы точно ...

Если аргументы не разрешаются флагами -fno-rtti и -fno-exceptions, то что это за аргументы? Ну и кроме отсутствия компилятора под платформу

Danya🔥
Если аргументы не разрешаются флагами -fno-rtti и ...

Хотя последнее решается транслятором LLVM IR в Си

Danya🔥
Если аргументы не разрешаются флагами -fno-rtti и ...

Технически может отсутствовать вообще весь рантайм...

Стикер

Dmitriy [Отпуск]
Технически может отсутствовать вообще весь рантайм...

А что, насколько там много дописывать рантайм с отключёнными исключениями и RTTI при наличии CRT?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта