|
Динамические переменные и массивы, Можно ли задать динамические массивы ? |
|
|
|
 |
Ответов
|
Sep 13 2013, 15:42
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Вобщем malloc использовать стал в микроконтролерах когда у них стало 512 метров ддр внешней. И честно говоря все равно неспокойно. Фрагментация вещь непредсказуемая, но при таких объемах можно считать вероятность отказа незначительной.Это не значит, что нужно отказывать от дин. выделения в мелких, но не родным аллокатором. Говорить о куче в контексте когда все озу килобайт — смешно имхо. Да и не надо было, это же не вебсервер непредсказуемый, да и цена отказа моих программ высоковата, поэтому только стек + статические выделенные буфер ы. Да, никаких вызовов stdlib из прерываний. Цитата(Tarbal @ Sep 13 2013, 19:24)  О! Вы появились. Прокоментируйте, пожалуйста мой ответ #17 на ваш #16.
Сливаете?
Виноват, домыслил. Тогда к вам вопрос.
Приходят пакеты из одно порта и ретранслируются в другой (по разным протоколам). И всё это гипотетически реализовано через stack. Пока передается сообщение, на вход приходит следующее. Как быть? Мне кажется Вы слово рекурсия неверно понимаете. А описанную задачу решают с помощью двойной буферизации, пока один буфер принимает — он только принимает.Как заполнен — идет его обработка, а на прием подставляется второй.Совершенно общая практика, начиная от контроллера SPI на верилоге и заканчивая V4L video for Linux.
|
|
|
|
|
Sep 13 2013, 15:58
|
Профессионал
    
Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439

|
Цитата(DASM @ Sep 13 2013, 19:42)  Вобщем malloc использовать стал в микроконтролерах когда у них стало 512 метров ддр внешней. И честно говоря все равно неспокойно. Фрагментация вещь непредсказуемая, но при таких объемах можно считать вероятность отказа незначительной.Это не значит, что нужно отказывать от дин. выделения в мелких, но не родным аллокатором. Говорить о куче в контексте когда все озу килобайт — смешно имхо. Да и не надо было, это же не вебсервер непредсказуемый, да и цена отказа моих программ высоковата, поэтому только стек + статические выделенные буфер ы. Да, никаких вызовов stdlib из прерываний.
Мне кажется Вы слово рекурсия неверно понимаете. А описанную задачу решают с помощью двойной буферизации, пока один буфер принимает — он только принимает.Как заполнен — идет его обработка, а на прием подставляется второй.Совершенно общая практика, начиная от контроллера SPI на верилоге и заканчивая V4L video for Linux. То есть для использования двух буферов на стеке надо иметь два треда, каждый из которых берет из стека буфер? Надо синхронизировать не только рессурс выхода, но и размер буфера, чтобы не убить стэком переменные. Не слишком ли сложно? Может проще malloc() или еще проще тот метод, который я описал. Или как-то иначе можно?
Сообщение отредактировал IgorKossak - Sep 13 2013, 16:07
Причина редактирования: читайте внимательно, я выделил
|
|
|
|
Сообщений в этой теме
Navovvol Динамические переменные и массивы Sep 2 2013, 07:51 demiurg_spb Цитата(Navovvol @ Sep 2 2013, 11:51) Буду... Sep 2 2013, 07:55 Tarbal Цитата(demiurg_spb @ Sep 2 2013, 11:55) +... Sep 11 2013, 17:04  demiurg_spb Цитата(Tarbal @ Sep 11 2013, 21:04) Для м... Sep 12 2013, 06:42   MrYuran Цитата(demiurg_spb @ Sep 12 2013, 09:42) ... Sep 12 2013, 07:00    demiurg_spb Цитата(MrYuran @ Sep 12 2013, 11:00) Созд... Sep 12 2013, 07:27     MrYuran Цитата(demiurg_spb @ Sep 12 2013, 10:27) ... Sep 12 2013, 07:52      demiurg_spb Цитата(MrYuran @ Sep 12 2013, 11:52) Знач... Sep 12 2013, 08:17   Tarbal Цитата(demiurg_spb @ Sep 12 2013, 10:42) ... Sep 12 2013, 12:43    demiurg_spb Цитата(Tarbal @ Sep 12 2013, 16:43) Засад... Sep 12 2013, 12:56     Tarbal Цитата(demiurg_spb @ Sep 12 2013, 16:56) ... Sep 12 2013, 15:07      demiurg_spb Спор бесполезен.
Вы не понимаете моей основной мыс... Sep 13 2013, 06:38       Tarbal Цитата(demiurg_spb @ Sep 13 2013, 10:38) ... Sep 13 2013, 12:29        demiurg_spb Цитата(Tarbal @ Sep 13 2013, 16:29) Попыт... Sep 13 2013, 12:40         Tarbal Цитата(demiurg_spb @ Sep 13 2013, 16:40) ... Sep 13 2013, 13:22          kolobok0 Цитата(Tarbal @ Sep 13 2013, 17:22) ..А в... Sep 13 2013, 14:51          demiurg_spb Цитата(Tarbal @ Sep 13 2013, 17:22) Скажи... Sep 13 2013, 15:03           Tarbal Цитата(demiurg_spb @ Sep 13 2013, 19:03) ... Sep 13 2013, 15:24 Bear_ku The operators new and delete are not implemented, ... Sep 2 2013, 08:05 Navovvol Спасибо. Если задуманное получиться, покажу, что ... Sep 2 2013, 08:51 DASM На самом деле в эмбеддед всякие alloc штука хороша... Sep 13 2013, 13:35 Tarbal Цитата(DASM @ Sep 13 2013, 17:35) На само... Sep 13 2013, 13:50 Tarbal Цитата(DASM @ Sep 13 2013, 17:35) На само... Sep 13 2013, 14:08 DASM Причем тут рекурсия вообще ? Данные принимаются в ... Sep 13 2013, 14:01 DASM Да не буду я ничего приводить, берете какие-то лев... Sep 13 2013, 14:28 Tarbal Цитата(DASM @ Sep 13 2013, 18:28) Да не б... Sep 13 2013, 14:48  DASM Цитата(Tarbal @ Sep 13 2013, 18:48) а во-... Sep 13 2013, 14:52   Tarbal Цитата(DASM @ Sep 13 2013, 18:52) "А... Sep 13 2013, 14:58 DASM Не слишком . Это гораздо безопаснее всего остально... Sep 13 2013, 16:07 Tarbal Цитата(DASM @ Sep 13 2013, 20:07) Не слиш... Sep 13 2013, 19:46  _Pasha Цитата(Tarbal @ Sep 13 2013, 22:46) СОЗДА... Sep 14 2013, 04:57   DASM Цитата(_Pasha @ Sep 14 2013, 08:57) Очеви... Sep 14 2013, 06:50    _Pasha Цитата(DASM @ Sep 14 2013, 09:50) Один во... Sep 14 2013, 12:27 IgorKossak Tarbal, смотрите мой комментарий к Вашему предыдущ... Sep 13 2013, 16:09 DASM Динамические на стеке ? Это как ? Учить Вас и не д... Sep 14 2013, 04:33 Tarbal Цитата(DASM @ Sep 14 2013, 08:33) Динамич... Sep 15 2013, 23:52  demiurg_spb Цитата(Tarbal @ Sep 16 2013, 03:52) А вы ... Sep 30 2013, 07:13 Tarbal Куда ушли те времена, когда требовалось мастерство... Sep 14 2013, 13:49 _Pasha Кстати, понравившийся многим манагер кучи от Zltig... Sep 14 2013, 22:06
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|