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

 
 
> Динамические переменные и массивы, Можно ли задать динамические массивы ?
Navovvol
сообщение Sep 2 2013, 07:51
Сообщение #1


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

Группа: Участник
Сообщений: 105
Регистрация: 9-09-11
Пользователь №: 67 080



Буду краток. Работают ли операторы "new" и "delete" ? Есть ли их аналоги ? Проект делается на Си.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Sep 13 2013, 15:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Вобщем malloc использовать стал в микроконтролерах когда у них стало 512 метров ддр внешней. И честно говоря все равно неспокойно. Фрагментация вещь непредсказуемая, но при таких объемах можно считать вероятность отказа незначительной.Это не значит, что нужно отказывать от дин. выделения в мелких, но не родным аллокатором. Говорить о куче в контексте когда все озу килобайт — смешно имхо. Да и не надо было, это же не вебсервер непредсказуемый, да и цена отказа моих программ высоковата, поэтому только стек + статические выделенные буфер ы. Да, никаких вызовов stdlib из прерываний.

Цитата(Tarbal @ Sep 13 2013, 19:24) *
О! Вы появились. Прокоментируйте, пожалуйста мой ответ #17 на ваш #16.



Сливаете?


Виноват, домыслил.
Тогда к вам вопрос.

Приходят пакеты из одно порта и ретранслируются в другой (по разным протоколам).
И всё это гипотетически реализовано через stack.
Пока передается сообщение, на вход приходит следующее. Как быть?

Мне кажется Вы слово рекурсия неверно понимаете. А описанную задачу решают с помощью двойной буферизации, пока один буфер принимает — он только принимает.Как заполнен — идет его обработка, а на прием подставляется второй.Совершенно общая практика, начиная от контроллера SPI на верилоге и заканчивая V4L video for Linux.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Sep 13 2013, 15:58
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 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
Причина редактирования: читайте внимательно, я выделил
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 19:28
Рейтинг@Mail.ru


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