Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2011, 19:31   #1
RAZOR1703
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 74
Радость Выделение участка памяти

Всем привет.
Проблема такая. Пишу программу, симулирующую работу примитивной файловой системы. Нужно выделить участок памяти, под "дисковое устройство", разбитое на 10 блоков по 10 байт каждый с последующей возможностью записи/считывания туда/оттуда "файлов" - массивов текстовых переменных. Дело в том, что нужно учитывать и место размещения этих переменных в выделенном участке, как на обычном диске. Есть еще одна проблема. Есть еще битовый массив, с числом бит, равным количеству блоков - так называемая, бит-карта, которая следит за состоянием блоков - занят или свободен. Так вот эту самую бит-карту нужно как-то связать с этой областью памяти.
Вот как-то так. Хотелось бы услышать умных мыслей по этому поводу. Спасибо.
RAZOR1703 вне форума Ответить с цитированием
Старый 19.11.2011, 11:40   #2
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию

а проблема-то собственно в чём?
способов куча :
1. new/delete
2. malloc/mfree
3. HeapAlloc/HeapFree
4. VirtualAlloc/VirtualFree
(последние два способа более универсальны). У способов 1-3 не нужны никакие битовые карты, система всё делает за нас
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
haruhi вне форума Ответить с цитированием
Старый 19.11.2011, 15:00   #3
RAZOR1703
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 74
По умолчанию

Да дело-то именно в том, что нужно использовать бит-карту.
И работать мне нужно именно с адресами, указывать с какого именно места в области выделенной памяти писать/читать символы.
Я, наверное, не совсем правильно выразил мысль. Допустим, мы заполнили весь выделенный участок памяти. Дальше - удаляем какой-нибудь набор символов в середине. Теперь нам нужно создать новый "файл" - ввести строку и вписать ее в то место, которое было очищено (просто перестало учитываться бит-картой как занятое). То есть мне нужно бегать по выделенной области, оперируя адресами.
Сразу прошу прощения, может я несу ерунду, ибо с адресной арифметикой не очень хорошо знаком.
RAZOR1703 вне форума Ответить с цитированием
Старый 24.11.2011, 19:18   #4
RAZOR1703
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 74
По умолчанию

Закрывайте, уже не надо.
RAZOR1703 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение памяти (new) ImmortalAlexSan Общие вопросы C/C++ 20 05.06.2011 23:39
Копирование участка памяти Celestia Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 21.02.2011 09:18
Выделение памяти в С++ Dj-IIyIIc Общие вопросы C/C++ 4 18.10.2010 14:39
Паскаль выделение участка массива Brian Spilner Помощь студентам 6 10.05.2010 13:51
выделение памяти Артем1256 Общие вопросы C/C++ 1 13.11.2009 16:38