Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Пишу в Keil под STM32 микроконтроллер на C/C++. Такой вопрос, как узнать количество свободной памяти доступное для malloc() ? Если это сделать не возможно то можно ли как-то переопределить функции malloc()/free() чтобы вести подсчёт самому? Естественно лучше первый вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 16:13 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
Есть важный момент. Память - фрагментируется. И суммарно может свободной памяти хватать, но одним куском выделить не получится. Т.е. что считать количеством свободной памяти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 18:17 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNЕсть важный момент. Память - фрагментируется. И суммарно может свободной памяти хватать, но одним куском выделить не получится. Т.е. что считать количеством свободной памяти? Это я понимаю. Мне нужно просто число свободных блоков для учёта чтобы отслеживать отсутствие утечек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 18:34 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
xneoТакой вопрос, как узнать количество свободной памяти доступное для malloc() ?выделить-освободить. Выделить больше-освободить. Выделить еще больше - освободить. Как не смог выделить, значит достиг предела. xneoЕсли это сделать не возможно то можно ли как-то переопределить функции malloc()/free() чтобы вести подсчёт самому?Читать документацию на свою платформу. Смотреть как организован рантайм в используемом компиляторе, потом заменять стандартную библиотеку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2014, 19:09 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
xneoможно ли как-то переопределить функции malloc()/free() чтобы вести подсчёт самому? кто ж запретит: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2014, 09:58 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
RWolfxneoможно ли как-то переопределить функции malloc()/free() чтобы вести подсчёт самому? кто ж запретит: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. есть трудности: ODR , но в принципе -- возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2014, 10:10 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. MasterZivRWolfпропущено... кто ж запретит: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. есть трудности: ODR , но в принципе -- возможно. А есть ли аналогичные правила для Си ? Или подразумевается что они применяются к этому языку ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2014, 04:38 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЗдравствуйте. MasterZivпропущено... есть трудности: ODR , но в принципе -- возможно. А есть ли аналогичные правила для Си ? Или подразумевается что они применяются к этому языку ? Они ровно одинаковые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2014, 18:33 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
Думаю что ответ на вопрос лежит в плоскости спецификации контроллера STM32. Возможно и свободная память заведомо известна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2014, 20:49 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
Там вообще памяти маловато, есть ли смысл связываться с менеджером памяти? Может выделять все на стеке? Тогда можно простой арифметикой угадать сколько памяти использовалось и сколько осталось. Хотя, может быть подключена внешняя память через FSMC. Ее уже могут быть мегабайты и можно шикануть, но, наверное и вопрос бы не возник :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 21:32 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
Кстати если подходить с транзактивной точки зрения то такие две операции Код: plaintext 1. 2. 3. для "посмотреть сколько" могут быть принципиально неверными ведь между ними другой процесс может затребовать память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 21:52 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
maytonмежду ними другой процесс Другой процесс на микроконтроллере?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 22:02 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovmaytonмежду ними другой процесс Другой процесс на микроконтроллере?.. Запросто. Процессы не обязательно выполняются параллельно, можно приостановить один и начать выполнять другой. Ну вспомни хотя бы TSR в досе которые вешались на IRQ. Запрашивать в них память на куче это конечно извращение, но вполне возможная вещь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2014, 23:38 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
maytonКстати если подходить с транзактивной точки зрения то такие две операции Код: plaintext 1. 2. 3. для "посмотреть сколько" могут быть принципиально неверными ведь между ними другой процесс может затребовать память. Проверка пудинга заключается в том, что его съедают (английская пословица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2014, 11:20 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovmaytonмежду ними другой процесс Другой процесс на микроконтроллере?.. Я долго думал перед тем как писать поток/процесс но потом всё таки решил написать процесс. Не суть важно как будет реализован конкурирующий вычислительный трафик. Будь это кооперативность, прерывания или continuation. Но думаю что мемберы в топике поняли суть того что я хотел сказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2014, 12:33 |
|
||
|
Вопросы по malloc()
|
|||
|---|---|---|---|
|
#18+
Когда году в 96-97 гг. писал свой парсер - везде между блоками вставил getfreememory() /условно/. При прогоне на тестовых данных, очень помогало своевременно обнаружить ошибку. Хотя, давно это было... вроде с тех пор, стандартный библиотеки Debug от MS VC сами научились такое делать. При запуске в Debug режиме, искать утечки памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2014, 17:52 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38748795&tid=2019297]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 39ms |
| total: | 185ms |

| 0 / 0 |
