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

exception : 0xC0000005: Access Violation - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Можно ли написать такую программу http://www.cyberforum.ru/cpp/thread631692.html
Здравствуйте! Мне нужна программа, которая содержала бы в себе всего два поля, при заполнении которых, содержимое этих полей сохранялось в файл на сервере (сайте например). Так же, нужно чтобы программа содержала кнопку "Отправить", для передачи содержимого полей на сервер и сообщение о удачной отправке. Можно ли написать такую программу на С++?
C++ Очень долгое освобождение динамически выделенной памяти Все никак не могу разобраться с одной проблеммой! У меня есть отображение, в котором хранятся указатели на абстрактный класс Node typedef map <int num ,Node*> NodeCont;. //Абстрактный класс узла class Node { public: virtual ~Node()=0; //// .... http://www.cyberforum.ru/cpp/thread630875.html
utf-8 <-> int32 C++
Есть строка s формата utf-8 длины l и число n типа int32 или uint32, которое является уникальным идентификатором строки s. Какие существуют алгоритмы или готовые библиотеки для нахождения s, зная n и нахождения n, зная s. И какое будет максимально возможное значение l?
C++ Бесплатные тесты по С++ на Brainbench
На http://www.brainbench.com бесплатно доступен тест по С++. Тест не сложный, думаю, многим будет интересно попробовать свои силы и узнать слабые места. Вроде как подобные тесты иногда даже "засчитываются" работодателями, так что прохождение может иметь практический смысл.
C++ [IDA PRO] Интересное выражение http://www.cyberforum.ru/cpp/thread622593.html
Реверсил драйвер. Наткнулся на выражение: v1 = &Irp1->Tail.Overlay.UnkUnion.CurrentStackLocation; *v1 = 12; Собственно как его понимать? Что значит ? (CurrentStackLocation - cтруктура) И чему второе присваивает? Спрашиваю, т.к. нет возможности проверить на практике. Имеется только код.
C++ Ссылки С++ На днях я испытал состояние когнитивного диссонанса и одновременно разочарования в себе и своём любимом языке программирования. Всё время, сколько я использовал плюсы я был уверен, что ссылки - это какие-то виртуальные объекты, указывающие на реальные только формально, т.е. я представлял себе передачу параметра по ссылке в функцию - как расширение области видимости объекта на эту функцию (с... подробнее

Показать сообщение отдельно
Kastaneda
Форумчанин
Эксперт С++
4469 / 2831 / 224
Регистрация: 12.12.2009
Сообщений: 7,201
Записей в блоге: 1
Завершенные тесты: 1
05.08.2012, 08:57     exception : 0xC0000005: Access Violation
Дело не в том, что так писать нельзя, а в том, что это бессмысленно. Таким образом ты обращаешся к памяти внутри своего сегмента, т.е. к памяти своей же программы. Ошибка возникает очевидно из-за того, что такой адрес не существует в твоей программе.
При адресации памяти адрес вычесляется с учетом значения, которое хранится в сегментном регистре (в данном случае это будет DS). В protected mode (в котором работает 32 битная винда) в сегментных регистрах лежат селекторы сегментных дескрипторов. Селектор - это индекс дескриптора в глобальной таблице дескрипторов (GDT), ее адрес находится в регистре GDTR. Чтоб получить линейный адрес (в общем случае он же физический, но есть исключения) нужно считать адрес из GDTR, прибавить к этом адресу наш селектор, потом в дескрипторе вычеслить адрес начала сегмента, и к этому адресу уже прибавить нужное смещение (в случае ТС это 0x02020000).
Вот, но это все не так просто, как кажется, поэтому WinAPI в помощь
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru