Форум: "Основная";
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];
ВнизMemoryManager & MMX Найти похожие ветки
← →
Lis (2001-12-21 16:05) [8]Поясняю своё решение:
function GetQuadMem(var Mem: Pointer; Size: Integer): Pointer;
begin
GetMem(Mem, Size + 4);
if (Cardinal(Mem) and 4) = 0 then
Result := Mem
else
Result := Pointer(Cardinal(Mem) + 4);
end;
qP := GetQuadMem(mP, 8*N);
// работаем с qP
FreeMem(mP);
Недостатки такого решения:
1. На каждую переменную приходится хранить 2 пойнтера;
2. Динамические массивы не выравниваются.
Попытка аналогичным способом подменить MemoryManager у меня не прошла, посему 2 более конкретных вопроса:
1. MemoryManager один на всю программу или у каждой нитки свой?
2. Какой формат у заголовка блока памяти?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];
Память: 0.43 MB
Время: 0.003 c