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

IsBadPtr - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В вызывающей функции main() организовать контроль ввода положительного целого K, большего 0 http://www.cyberforum.ru/cpp-beginners/thread718514.html
В общем такая задачка: Составить функцию, которая вычисляет сумму К слагаемых В вызывающей функции main() организовать контроль ввода положительного целого K, большего 0. Прогу я...
C++ Для вычисления слагаемого суммы вывести рекуррентную формулу В общем такая задача: Даны действительные числа . Составить функцию вычисления суммы с точностью и последнего слагаемого, включенного в сумму:(формула внизу) Считать, что... http://www.cyberforum.ru/cpp-beginners/thread718509.html
Заменить линию кода C++
Помогите в функции ниже заменить 5 линию кода: 1 void strcopy (char string1, char string2) 2 { 3 int i = 0; 4 5 while (string2 != '\0') 6 { 7 string1 = string2;
C++ Задача на использование ветвления (if)
Помогите пожалуйста решить: 1. ВЕТВЛЕНИЯ Выполнить задания двумя способами: с использованием оператора if и с использованием условного оператора ?. Если сумма трех попарно различных...
C++ Задание с файлами http://www.cyberforum.ru/cpp-beginners/thread718464.html
Дан файл f,компоненты которого-действительные числа.Найти сумму квадратов среди компонентов файла f.
C++ вызов функции как правильно вызвать данную функцию? typedef int key_t; typedef double value_t; value_t find(key_t key); подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
04.12.2012, 19:07
gcc SEH не умеет. Ещё, по идее, можно так проверить (с WinAPI не дружу, собрано из гугла).
C++
1
2
3
4
5
6
7
8
9
10
bool isValid(const void *ptr)
{
    HANDLE itself = OpenProcess(PROCESS_VM_READ,
                                FALSE,
                                GetCurrentProcessId());
    int data;
    bool result = ReadProcessMemory(itself, ptr, &data, 1, NULL);
    CloseHandle(itself);
    return result;
}
Вот только память процессам выделяется целыми страницами. И malloc()/new() обычно заранее отхапывают себе пул памяти, чтобы потом из него выделять. Естественно, при доступе к памяти из уже выданных страниц никаких ошибок не будет, хоть формально malloc/new эту память приложению ещё не выдали. Боюсь, точная проверка требует знания конкретных реализаций аллокаторов.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru