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

А на счет malloc ( динамическое выделение памяти ). Ну на

компе проблем нет, это просто системный вызов

А на мк это как происходит?

14 ответов

10 просмотров

просто вызов функции

Simple Sorcerer- Автор вопроса
Mixail Frolov
просто вызов функции

Нет, откуда он память берет?

Simple Sorcerer
Нет, откуда он память берет?

ну где-то заранее код подумал что участок условно от 0x8000 до 0xffff будет распределяемым, и при вызове он как и обычный malloc будет отрезать кусочки от него

Simple Sorcerer
Спасибо

посмотрите как это сделано например в freertos, там насколько помню был malloc

malloc реализован в libc, тебе нужно только написать собственную реализацию функции sbrk

Simple Sorcerer
Нет, откуда он память берет?

Ты пишешь сам функцию выделения кучи

malloc это сишный аллокатор. По факту он не аллоцирует память сам. Аллоцирует ОС через системный апи. В случае без ос на МК просто резервируется статический буфер

Joshua Jakowlew
malloc это сишный аллокатор. По факту он не аллоци...

На мк ты пишешь реализацию sbrk сам, и можешь сам настроит буфер, как тебе удобно (скорее всего это таки будет статическая область в памяти, но не обязательно)

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

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

А есть ли способ заставить конечный класс в иерархии классов реализовать все, всё ещё не реализованные абстрактные методы? самый простой пример: program Project1; {$mode delph...
notme
58
Добрый вечер. Прошу помощи у неравнодушных - являюсь просто пользователем сайта на данной платформе, просто выкладываю туда инфо, новости. Ничего не понимаю в ваших формулах, ...
Надежда
24
what do you do for keep coding? i after 5~10 minutes get tired and waste 30 minutes on internet, watching movies, etc
Mr Thieves
18
хочу поделиться нашими свежими цифрами по использованию dets В базу данных пишется неширокая строка: имя потока, имя файла, таймстемп. в код закралась ошибка и база данных...
Maksim Lapshin
14
Список чатов, например, в каком формате?
The Bird of Hermes
16
Согласны ли вы, что любой инженер-программист должен понимать код на ассемблере, устройство процессора, ОС и тд? Т.е должен знать базу
Ghost
42
my $source = "127.0.0.1:12345"; $source =~ /(.*?):(\d+)/; print "Result: " . Dummy::test($1) . "\n"; "$1"; print "Result: " . Dummy::test($1) . "\n"; $ perl test-xs.plx Usel...
Warstone
6
program Project1; type TRec = record class procedure method; static; inline; end; TMyClass<T> = class R: T; procedure proc; end; procedure TMyClass<T>.pro...
notme
7
Итак... понадобилось мне примерно следующее: program Project1; type TMyClass1 = class class procedure instance_proc; static; inline; procedure DoWork; end; TMyCl...
notme
5
Why does tiktok give you other information of a profile on mobilephone than the desktop, if someone mind me asking?
Witold ♥️🩷
11
Карта сайта