Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
podhornyi96
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 14
#1

Аллокатор памяти общего назначения - C++

18.09.2014, 15:27. Просмотров 938. Ответов 2
Метки нет (Все метки)

Добрый день! В ВУЗе задали написать аллокатор памяти общего назначения на С++, но у меня нет ни единого представления как это можно сделать, так как знаний по С++ не очень много, и вообще у меня нет представления о том как это должно выглядеть. Программа должна содержать 3 функции

• void *mem_alloc(size_t size);

функция должна выделить блок памяти заданного размера в size байт. Если блок памяти был выделен успешно, то вернуть адрес начала этого блока, в противном случае вернуть NULL.

• void *mem_realloc(void *addr, size_t size);

функция должна изменить размер блока памяти с адресом addr до size байт. При этом содержимое (всё или часть) старого блока памяти может быть перенесено в другой блок памяти. Если удалось изменить размер бло-ка памяти, то функция должна вернуть адрес нового блока памяти, иначе вернуть NULL и не разрушить старый блок памяти. Если addr равен NULL, то вызов функции аналогичен вызову mem_alloc(size).

• void mem_free(void *addr);

функция должна освободить прежде выделенный блок памяти.

Я не могу понять, нужно переопределить уже существующие функции realloc, free, alloc, то есть написать свою реализацию этих функций, или написать аллокатор с использованием этих функций? Пожалуйста, постарайтесь объяснить на пальцах что это такое и какую литературу почитать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2014, 15:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Аллокатор памяти общего назначения (C++):

Пародия на стековый аллокатор - C++
здравствуйте, решил тут чуток поиграться... сделать аллокатор чтобы данные в статическом буфере размещал. в итоге долго поиграться не...

Изменить назначения клавиш - C++ WinAPI
Есть клавиатура x7-g800mu подключена через PS/2 и есть клавиши G1 .... G15, на которых уже, заданы действия там точка запятая и т.д....

Задача с собеседования (аллокатор памяти) - C++
Вопрос звучит так: "Напишите быстрый аллокатор памяти" Как я его понимаю: можно пожертвовать растратой памяти, всякими наворотами,...

Аллокатор в chrome - C++
Всем привет, начал изучать исходники хрома, в аллокаторе, метод realloc должен возвращать nullptr если передаваемый аргумент size равен...

Пишем аллокатор - C++
дабы не захламлять и так уже захламленную тему про перегрузку операторов создаю новую тему, собственно по поводу аллокаторов прям...

Быстрый аллокатор - C++
Собственно, необходим аллокатор для быстрого выделения памяти под мелкие объекты, совместимый со стандартными контейнерами (std::list и...

2
worldown
62 / 67 / 28
Регистрация: 22.06.2009
Сообщений: 244
18.09.2014, 16:03 #2
а если через new, delete ?
0
NEET
0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 1
02.10.2014, 12:40 #3
podhornyi96, hi
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2014, 12:40
Привет! Вот еще темы с ответами:

Регистры общего назначения (уравнение) - Assembler
mov dl, 15 mov dh, 7 mov cl, dl mov ch, 1 cx = ? dx = ? объясните, пожалуйста, как получился ответ(откуда берутся эти...

Выбор сервера общего назначения - Серверы
Приветствую, форумчане! Такой вот вопрос образовался. В серверах я не разбираюсь, однако появилась необходимость написать технические...

Регистр общего назначения (РОН), микропроцессорные системы - Информатика
Здравствуйте, не знал в каком разделе написать, видимо этот ближе всего. Очень нужно получить ответ на два похожих вопроса из теста по...

Процессоры общего назначения на примере архитектуры AMD K7 - Электроника
Всем привет! Очень нужна информация по теме: Процессоры общего назначения на примере архитектуры AMD K7 Хотелось бы, конечно, на русском,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru