Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
8 / 8 / 1
Регистрация: 17.01.2010
Сообщений: 172
1

Добавить элемент в хвост очереди виртуальной памяти

01.03.2012, 20:55. Показов 653. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер. Делаю лабу. Надо создать структуру данных типа очередь, размером 15 кб. Я её создал с помощью VirtualAlloc, проверил что она не пуста. Теперь не знаю как
  • добавить элемент в хвост очереди;
  • удалить элемент из головы очереди;
  • просмотреть голову очереди;
  • продублировать голову очереди.
Искал описания. Найти не смог.
Вот часть кода на С#
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 [DllImport("kernel32.dll", SetLastError = true)]
        static extern UIntPtr VirtualAlloc(IntPtr lpAddress, UIntPtr dwSize,
            AllocationType flAllocationType, MemoryProtection flProtect);
 
        [DllImport("kernel32.dll", SetLastError = true)]
        static extern bool VirtualFree(UIntPtr lpAddress, UIntPtr dwSize,
            AllocationType dwFreeType);
 
        [Flags]
        public enum AllocationType : uint
        {
            COMMIT = 0x1000,
            RESERVE = 0x2000,
            DECOMMIT = 0x4000,
            RELEASE = 0x8000,
            RESET = 0x80000,
            PHYSICAL = 0x400000,
            TOPDOWN = 0x100000,
            WRITEWATCH = 0x200000,
            LARGEPAGES = 0x20000000
        }
 
        [Flags]
        public enum MemoryProtection : uint
        {
            EXECUTE = 0x10,
            EXECUTE_READ = 0x20,
            EXECUTE_READWRITE = 0x40,
            EXECUTE_WRITECOPY = 0x80,
            NOACCESS = 0x01,
            READONLY = 0x02,
            READWRITE = 0x04,
            WRITECOPY = 0x08,
            GUARD_Modifierflag = 0x100,
            NOCACHE_Modifierflag = 0x200,
            WRITECOMBINE_Modifierflag = 0x400
        }
        private void button1_Click(object sender, EventArgs e) 
        {
            int bufferV = 15*1024;
            UIntPtr pBufferV = (UIntPtr)bufferV;
            UIntPtr pMem = VirtualAlloc(IntPtr.Zero, pBufferV, AllocationType.COMMIT, MemoryProtection.EXECUTE_READWRITE);
 
            label1.Text = pMem.ToString() + " если 0, то не зарезервировано";
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2012, 20:55
Ответы с готовыми решениями:

Добавить элемент со значением D в конец очереди и извлечь из очереди первый (начальный) элемент
Дано число D и указатели P1 и P2 на начало и конец очереди, содержащей не менее двух элементов. ...

Добавить элемент со значением D в конец очереди
Здравствуйте, помогите пожалуйста решить! 5) Дано число D и указатели P1 И P2 на начало и конец...

Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди
Нужно создать очередь. Добавить элемент в очередь. Удалить элемент из очереди. Вот моё...

Добавить один список в хвост второго
Посмотрите пожалуйста мои мысли, если что не так, поправьте, будьте любезны. Задания:...

0
01.03.2012, 20:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2012, 20:55
Помогаю со студенческими работами здесь

Как добавить хвост к урлу по клику?
Добрый день. Нужно при кликне на кнопку, добавить окончание к урлу. Например кликнул по кнопке...

Добавить элемент в середину очереди, если число элементов четное, и после середины, если нечетное
Задача: сделать обычную очередь, но с еще одним методом vip_push(int a), который добавляет элемент...

Добавить элемент в любую позицию массива, размещенного в динамической памяти
Требуется добавить элемент в какое-нибудь место массива, размещенного в динамической памяти. (на...

В первой очереди найти максимальный элемент и за ним вставить элементы второй очереди
задание:Создать две очереди из случайных целых чисел. В первой найти максимальный элемент и за ним...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru