Форум программистов, компьютерный форум CyberForum.ru

Менеджер памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить площадь круга и площадь заштрихованных областей http://www.cyberforum.ru/cpp-beginners/thread684208.html
Помогите с ответом, как сделать задачу: Напишите функцию double circle_area(double R) которая узнает площадь круга, . С помощью прогарммки надо узнать площадь закрашеной убласти, запрашивая R1 и R2. Фигура: Вот что есть, но оно не работает: #include <math.h>
C++ Класс Phone Создать класс Phone: Фамилия, Имя, отчество, Адрес, Номер, Время внутригородских разговоров, Время междугородних разговоров. Определить процент внутригородских и междугородних разговоров. Помогите пожалуйста с задачей http://www.cyberforum.ru/cpp-beginners/thread684206.html
как вывести промежуточные значения? C++
вот код #include <vcl.h> #pragma hdrstop #include <stdio.h> #include <conio.h> #include <math.h>
C++ Как правильно соединить
Вот код // Adding an ODBC data source with the SQLConfigDataSource (FoxPro) string SourceODBCName("DSN=NewVFP1\0"); if (!SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Visual FoxPro Driver", SourceODBCName + "Description=VFP Data Source\0" "SourceDB=C:\0" "SourceType=DBC\0"
C++ Структуры http://www.cyberforum.ru/cpp-beginners/thread684168.html
Помогите пожалуйста сделать так, чтобы проверял номер. У меня не получается. /*Описать структуру NOTE (фамилия и имя, номер телефона, день рождения). Введите данные в массив, состоящий из восьми элементов типа NOTE. Выведите на экран информацию о людях, телефон которых начинается с цифр 232. Если таких нет, то программа должна выдать соответствующее сообщение на экран.*/ #include <iostream>...
C++ Определить, в каком квадранте находится точка помогите определить в С++, в каком квадранте находится точка (x, y) и вывести номер квадранта. подробнее

Показать сообщение отдельно
Работяга
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 6
30.10.2012, 14:14  [ТС]     Менеджер памяти
Предположим, что:
- минимальная единица памяти 1kB
- вся оперативная память ровна 32MB (динамический массив из элементов класса Byte, содержащих в себе char) и нужно ли в них организовывать структуру однонаправленного/двунаправенного списка?
- сколько и каких классов будет необходимо создать помимо Byte (для чего они будут нужны)

И сама ситуация: допустим мы ходим загрузить в память файл размером 1.5MB, что должно будет произойти (какие проверки и действия произойдут)

Опять же, это не настоящий менеджер памяти, а только его эмулятор, т.е. он должен только элюстрировать то, что должно происходить в настоящем.

Добавлено через 2 минуты
Цитата Сообщение от Algiz Посмотреть сообщение
Ну можешь попробовать так:
У тебя есть массив. Далее создаешь функции аллокации и освобождения памяти. Первая принимает размер блока, возвращает указатель на позицию в массиве. Вторая принимает позицию и освобождает данный участок. Как ты уже понял, тебе еще нужно в какой-то отдельной структуре хранить информацию о том, какая область занята, а какая свободна. Например список пар(адрес начала, размер). Информацию для визуализации черпать из этой же структуры.
Большое спасибо)

Добавлено через 8 минут
Цитата Сообщение от Algiz Посмотреть сообщение
Ну можешь попробовать так:
У тебя есть массив. Далее создаешь функции аллокации и освобождения памяти. Первая принимает размер блока, возвращает указатель на позицию в массиве. Вторая принимает позицию и освобождает данный участок. Как ты уже понял, тебе еще нужно в какой-то отдельной структуре хранить информацию о том, какая область занята, а какая свободна. Например список пар(адрес начала, размер). Информацию для визуализации черпать из этой же структуры.
В этот класс нужно добавлять структуру двунаправленного списка? И тот самый динамический массив будет состоять из этих объектов класса Byte?
Если да и он будет иметь структуру двунаправленного списка, то изначально у этих объектов будут адреса прошлого и следущего Byte? или только при загрузке в нашу "оперативную память" файла они будут появляться?
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Byte
{
public:
    Byte() 
    { 
    setByte(0); 
    }
    ~c_Byte() {  }
 
    void setByte(unsigned char byte) { _byte = byte; }
    unsigned char byte() { return _byte; }
 
private:
    unsigned char _byte;
 
};
 
Текущее время: 07:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru