Подскажите, плиз, где найти исходники на С для дефрагментации памяти
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
IVK
07 июля 2003 г. 11:44
Составить ответ
|||
Конференция
|||
Архив
Ответы
если это действительно Вам нужно подсказываю идею.
—
Romario
(07.07.2003 15:25, 1428 байт)
и попутно как сделать на тяньке своп в еепром
—
DASM
(07.07.2003 11:48,
пустое
)
Я так круто еще не умею
—
IVK
(07.07.2003 11:57,
пустое
)
так может тогда начнем с конкретики ? Файловая система какая ? Как умудрился фрагментировать ? malloc в MCU вообще не рекомендуется
—
DASM
(07.07.2003 12:03,
пустое
)
(+)
—
IVK
(07.07.2003 12:11, 78 байт)
Задача-то исходная какая?
—
Yuriy
(07.07.2003 14:07, 35 байт)
Задача
—
IVK
(07.07.2003 14:41, 75 байт)
да тут и не нужна динамическая аллокация раз Вам изсветны объемы выделяемой памяти.
—
Romario
(07.07.2003 15:09, 220 байт)
Неизвестно, сколько эти куски будут весить потом, постоянно добавляется что-то новое
—
IVK
(07.07.2003 15:43,
пустое
)
тогда с не равной 0 вероятностью
—
Алексей Мусин
(07.07.2003 15:53, 129 байт)
имхо malloc'oм в нересурсоемких приложениях следует пользоваться когда эта выделяемая память расходуется относительно быстро(+)
—
Romario
(07.07.2003 16:17, 474 байт)
OFF: вот немного по эксперементировал:)
—
Romario
(07.07.2003 18:16, 5050 байт)
Это я уже предусмотрел
—
IVK
(07.07.2003 16:02,
пустое
)
После добавления чего-то нового программа компилируется?(-)
—
abivan
(07.07.2003 15:52, 1 байт)
имхо
—
Алексей Мусин
(07.07.2003 12:17, 220 байт)
Это смотря какая задача(+)
—
abivan
(07.07.2003 15:50, 698 байт)
про последнее предложение не очень понял (+)
—
Romario
(07.07.2003 16:00, 469 байт)
Дефрагментировать нужно если Вы освободите (+)
—
abivan
(07.07.2003 21:26, 337 байт)
p.p.s Дефрагментировать не нужно...они сами потом объединятся с соседними....а если нет, то либо такую память надо выделять статически (т.к. долго не освобождается) либо увеличить размер кучи:)
—
Romario
(07.07.2003 21:45,
пустое
)
:) вот это предложение я не понял (+)
—
Romario
(07.07.2003 21:43, 442 байт)
Вот исходник гляньте и сразу станет ясно.(+)
—
abivan
(07.07.2003 21:57, 711 байт)
"лучше память не фрагментировать" - Ж-) Куда память двигать ? И что делать с указателями, указывающими на нужную память ? На что они будут указывать после передвижки ?
—
DASM
(07.07.2003 15:54,
пустое
)
Ответ: (+)
—
abivan
(07.07.2003 21:41, 730 байт)
Зы: вот глянул выше, оказывается еще в 15:25 Romario ответил и на Ваш вопрос(-)
—
abivan
(07.07.2003 22:03, 1 байт)
p.s. embedded подразумевает только 8 разрядники?:)) на всяких uClinux, для ARM, MIPS, CF, PPC и т.д. malloc сплошь и рядом. Более менее сложный алгоритм без них не реализовать.
—
Romario
(07.07.2003 15:12,
пустое
)
embedded подразумевает, что за используемыми ресурсами надо следить
—
Алексей Мусин
(07.07.2003 15:54,
пустое
)
а в desktop значит на надо?:)
—
Romario
(07.07.2003 16:12,
пустое
)
не...не только хистори буфер :)
—
Romario
(07.07.2003 15:05, 515 байт)
Вай-вай, обманул тогда однако :)
—
Алексей Мусин
(07.07.2003 15:51, 57 байт)
ну правильно:)) 2 задачи было...про хистори буфер тогда yes'у сказал...а про первую все верно
—
Romario
(07.07.2003 16:09, 258 байт)
старайся делать маллоки только кусками , кратными степени двойки. Интересно, как ты собрался дефрагменировать уже выделенную память ? Умные указатели что-ли юзать ?
—
DASM
(07.07.2003 12:14,
пустое
)
уточнение: выравнивани по границе...если шина памяти 32 разряда то выравнивание по 4...16 - 2...8 - выравнивание вообще не нужно
—
Romario
(07.07.2003 15:30,
пустое
)
Вот я и хочу узнать, как это сделать можно
—
IVK
(07.07.2003 12:56,
пустое
)
Меня еще оверлеи интересуют :-) (-)
—
abivan
(07.07.2003 11:54, 1 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru