![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Научите отлавливать Null Pointer Assignment, если дебаггер то какой, где скачать и прям на пальцах ...
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
такая ошибка приводит к краху системы сразу, это заметно запуск под любым вменяемым дебагером - компиляторы Borland C++ Builder, MS Visual Studio, MinGW(gdb), ну и gdb под линух к таковым относятся - позволяет в момент краха посмотреть стек вызовов функций и даже инструкцию, на которой программа убилась. |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Что-за шутки
но только на старом tcc -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Null pointer - это указатель, значение которого нулл, то есть на большинстве системах - 0. При попытке обращения по нулевому указателю система падает. если ты перезаписал свою же память в месте, где хранится служебная инфа, то на это надеятся нельзя если у него отладчик вменяемый - не проблема. А вообще, бросали бы вы мучать эти трупы... |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Просто надо было сделать приложение под ДОС, да и опять же хочется разобраться, ведь сие означает что эта ошибка возникает и при компилировании более свежим компиляторм, тока он сам ее отлавливает скорее всего что-то типа зборщика мусора
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
сборщика мусора в компилируемых языках нет, для него нужна среда исполнения. никто ничего сам не отлавливает. Отладчик тебе помогает её отловить. |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Исполняемый файл и ОС среда исполнения кода
Да просто время жизни обьектов по разному расссматривается старым и более новым компилятором вот и причина.... Это сообщение отредактировал(а) apook - 27.9.2007, 07:41 -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
В корне неверное утверждение. За сборку мусора нужно платить, а компилятор без понятия, где ты готов платить, а где нет. А если готов платить всегда, то тебе в наших (сионистов) рядах не место. Кроме того, я вижу, что ты путаешь null-pointer и указатель на уже удаленный объект... это две такие большие разницы... С первым тебе проблем нет - падаем, как уже было сказано, на первом запуске. Со вторым... самый лучший способ - не делать таких ошибок... -------------------- ... |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Пример конечно не очень, придумать можно было и поинтересней, но все-же задача найти и обьяснить причину Null Pointer Assignment? Пример без ошибок и предупреждений компелируется на Borland Turbo C++ 3.x Готовый файл прицепляю на всякий случай! Далее задача откомпелировать это на более свежем компиляторе на Borland C++ Builder( но я думаю и на других) и Daevaorn узнает разницу времени жизни переменных на старых и новых компиляторах(хотя в данном случае причина не в этом) Это сообщение отредактировал(а) apook - 27.9.2007, 12:36 Присоединённый файл ( Кол-во скачиваний: 2 )
MAIN.zip 2,83 Kb-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
apook, этот код не компилируется по причине
|
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Что здесь написано грамотей
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
время жизни регламентируется стандартом. Потом, в таких случая приводят минимально возможный код демострирующий ситуацию. В твоем недокоде разбираться желания нет, да он и не "компилябельный" по причине не соответсвия стандарту. |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Не соответствия новому стандарту По вопросу сказать нечего, зачем поститься? -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Сказать я вижу нечего тебе. На мой вопрос ты не ответил, а дал какой-то мутный код которые не хочет собираться. Это по твоему конструктивная беседа? Да ещё и на какие-то нелепые наезды начинаешь, вместо того чтобы предметно обсудить тему. Стандарт один. Понятия "новый и старый" стандарт сейчас нет. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |