Показать сообщение отдельно

  #9  
Старый 20.04.2010, 18:54
dpbid
Новичок
Регистрация: 07.02.2010
Сообщений: 10
С нами: 8556353

Репутация: 0
По умолчанию

Нужна помощь:
суть программы :
Разработать программу, которая демонстрирует управление структурами данных типа «очередь», элементы которого занимают 12 кб. Операции, выполняемые над очередью:
1 проверить, очередь пуста/не пуста;
2 добавить элемент в хвост очереди;
3 удалить элемент из головы очереди;
4 просмотреть голову очереди;
5 продублировать голову очереди.
Воспользоваться механизмом управления разделами виртуальной
памятью.

Все пункты реализовал, за исключение 5ого. парни, кто знаком с ВП, помогите пожалуйста продублировать голову очереди

вот мой код по дублированию, но он выдает ошибку аксес виолейшн

void Duplicate_Head()
{
if (och_size == 0)
{
printf ("Error! Ochered is empty.");
return;
}
dup=VirtualAlloc(NULL, REGIONS_LIMIT*region_size, MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if (dup == NULL )
{
printf ("Error! VirtualAlloc reserve failed with error code of %ld\n", GetLastError ());
return;
}
memcpy(dup, base_addr, REGIONS_LIMIT*region_size);
cout << "Head is duplicated." << endl;
}


сама программа тут http://slil.ru/28969893

Последний раз редактировалось dpbid; 20.04.2010 в 19:10..
 
Ответить с цитированием