ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

04.05.2009, 14:49
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Не удается открыть файл include: conio: No such file or directory уже как только не писал,и #include <conio>, и #include <cconio>, бесполезно
файл conio.h это чисто борландовский хэдэр который не входит ни в какие стандарты, по этому его надо обьявлять в си-стиле #include <conio.h>
|
|
|

04.05.2009, 20:33
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
Сообщение от Дикс
а мой компилятор сам приравнивает к нулю.
лучше приравнивай.а ещё лучше - сразу следи, чтобы не обратиться к нему после делита. но всё равно обнули)
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

04.05.2009, 21:38
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Сообщение от desTiny
лучше приравнивай.а ещё лучше - сразу следи, чтобы не обратиться к нему после делита. но всё равно обнули)
отследить легко в хеллоуворлде. а в даже чуть более крупной ЛАБЕ, не то что в коммерческом проекте, можно банально проморгать удаление вектора. потом получается магическая ошибка, когда вызывается метод, но почему то данные неправильные. а все потому, что объект класса имеет указатель this, который убивается делитом, но не приравнивается нулю, и поэтому его можно разыменовать и получить данные. кароч кто видел такие моменты тот меня поймет, када в окне дебаг this = 0x00fea34d. это ацкие ошибки, которые могут вынести мозг и убить на дебаггинг лютые часы. поэтому обнулять обязательно. но еще лучше не юзать чистые указатели для хранения динамических объектов. смарт поинтеры решают.
|
|
|

04.05.2009, 22:47
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
короч вот простой пример проблем, порождаемых ленивой работой с указателями
Код:
class A{
public:
A(){};
A(int _x1, int _x2, int _x3){
x1 = _x1;
x2 = _x2;
x3 = _x3;
};
~A(){};
void f1 (){
y = x1 + x2 - x3;
}
protected:
int x1, x2, x3;
int y;
};
class B{
public:
B(int _x1, int _x2, int _x3){
a = new A(_x1, _x2, _x3);
};
~B(){
delete a;
}
void f1(){
a->f1();
}
protected:
A* a;
};
int main(void)
{
B* b;
b = new B(45, 5, 15);
delete b;
b->f1();
system("pause");
return 0;
}
дебажить заходя внутрь методоа f1 сначала в классе B потом в A. В A имеем следующую картинку
+ this 0xfeeefeee {x1=??? x2=??? x3=??? ...} A * const
причина проста - не обнулен указатель b после делита.
программа будет крашица, но причиной ошибки является не это место. на поиск реального места уйдет драгоценное время. это кстати опять же зависит от компилера и системы. чем заполняется освободившееся место. тут ошибка только благодаря тому что там нет страницы. попробуйте руками изменить адрес this на число например 0x00401000 =) вообще никакой ошибки. это повлечет еще более веселый дебаггинг. и это тот самый тип ошибок, который зависит от сосотяния адресного простарнства процесса. которые не повторяются при выполнении одной и той же послеовательности действий...
delete b;
b = 0;
b->f1();
исправляете так и легко узнаете о попытке обратиться к несуществующему объекту.
|
|
|

04.05.2009, 23:18
|
|
Участник форума
Регистрация: 20.02.2009
Сообщений: 224
Провел на форуме: 5075819
Репутация:
274
|
|
Дайте рабочего кода (winapi) с мониторингом физич. памяти, не важно, что: размер дисков, общий объём физ.памяти и т.д.
|
|
|

04.05.2009, 23:40
|
|
Познающий
Регистрация: 14.03.2009
Сообщений: 86
Провел на форуме: 385811
Репутация:
12
|
|
Помогите, пожалуйста, как в QT сделать кнопку и прогресс бар, что бы при нажатие на кнопку импортировались значения в реестр и показывало на прогресс баре состояние импорта.
|
|
|

05.05.2009, 00:49
|
|
Познающий
Регистрация: 22.01.2007
Сообщений: 40
Провел на форуме: 179857
Репутация:
4
|
|
Хлопцы а хто может с JAVA помочь ? Дайте асю.
|
|
|

05.05.2009, 02:12
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Помогите, пожалуйста, как в QT сделать кнопку и прогресс бар, что бы при нажатие на кнопку импортировались значения в реестр и показывало на прогресс баре состояние импорта.
я так понимаю импорт будет идти в цикле? если так то после каждой итерации изменяй значение на прогрессбаре, а вообще в документации все хорошо расписано как работать с виджетами.
|
|
|

05.05.2009, 11:49
|
|
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме: 560332
Репутация:
15
|
|
Сообщение от razb
я так понимаю импорт будет идти в цикле? если так то после каждой итерации изменяй значение на прогрессбаре, а вообще в документации все хорошо расписано как работать с виджетами.
только еще нужно расчитать, чтоб ровномерно. Иначе может быть циклов 300, а прогресс бар, при каждом вызове, увеличивает на 1%(ну так в GTKmm если не ошибаюсь), и наоборот, 10 циклов, 10 вызовов и всего 10%.
|
|
|

05.05.2009, 11:50
|
|
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме: 560332
Репутация:
15
|
|
Сообщение от 4y4o
Хлопцы а хто может с JAVA помочь ? Дайте асю.
Темой ошибся, https://forum.antichat.ru/thread90173.html
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|