Тема: век живи, век учись...

Ответить в теме
Страница 4 из 4 ПерваяПервая ... 2 3 4
Показано с 61 по 67 из 67
  1. Вверх #61
    Цитата Сообщение от Ull9 Посмотреть сообщение
    Гугги, не валяйте дурака,
    стандарт филологически и концептуально не может писатся так как вы предлагаете.

    еще раз говорю прикол он и в африке прикол.
    Поддерживаю.
    Если вы найдете по интернету еще десять заблуждающихся на этот счет-
    это не повод верить в такую чихню.
    Там в коде может быть миллион ошибок,
    и то что падение приписали какие-то любители этой строке,
    вовсе не факт что она является результатом падения.
    free(p) не может повлиять на p.
    Что бы сменить p, нужно как минимум free(&p).
    p, я так понимаю, автоматическая переменная в стеке,
    которая содержит адрес некоторой области памяти.
    И абсолютно не имеет никакого значения, куда она указывает,
    пока я не попытаюсь доступиться к этой области по чтению или записи.


  2. Вверх #62
    Постоялец форума Аватар для Guffy
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    51
    Сообщений
    1,356
    Репутация
    256
    Цитата Сообщение от lexar Посмотреть сообщение
    Поддерживаю.
    Если вы найдете по интернету еще десять заблуждающихся на этот счет-
    это не повод верить в такую чихню.
    Там в коде может быть миллион ошибок,
    и то что падение приписали какие-то любители этой строке,
    вовсе не факт что она является результатом падения.
    free(p) не может повлиять на p.
    Что бы сменить p, нужно как минимум free(&p).
    p, я так понимаю, автоматическая переменная в стеке,
    которая содержит адрес некоторой области памяти.
    И абсолютно не имеет никакого значения, куда она указывает,
    пока я не попытаюсь доступиться к этой области по чтению или записи.
    коллега, мы этот вопрос уже давно "обсосали" со всех сторон. перечитайте выше. Вы просто подумайте над тем, что не везде бывает плоская модель памяти - кое-где указатель может быть из сегмента и смещения. Поначалу мне тоже это смотрелось несколько дико, но на самом деле таки да - бывает всякое

  3. Вверх #63
    Цитата Сообщение от Guffy Посмотреть сообщение
    коллега, мы этот вопрос уже давно "обсосали" со всех сторон. перечитайте выше. Вы просто подумайте над тем, что не везде бывает плоская модель памяти - кое-где указатель может быть из сегмента и смещения. Поначалу мне тоже это смотрелось несколько дико, но на самом деле таки да - бывает всякое
    Это ни на что не влияет.

    Какая разница? Любой указатель приводится к инт несоответствующего размера, любой инт соответствующего размера приводится к указателю.
    Как проверка значения инта может привести к падению?

    Да и работал я с такими указателями по полной программе:
    под Дос с описанием far и huge. Гонял без всякого размещения по оперативной памяти: в буфер клавиатуры, в экранную область дисплея.
    Проблем не возникало. Значение указателя их просто не может вызвать,
    пока мы не работаем с объектом, на который он указывает.

    В общем, если с указателем возникают такие проблемы -
    вычистите вирус из системы, который некорректно заражает ваш экзешник сразу после построения. Или найдите левый код в своей программе. Компиляторы зачастую пропускают нелепые ошибки,
    которые приводят к непредсказуемому поведению.

  4. Вверх #64
    Не покидает форум Аватар для Ull9
    Пол
    Мужской
    Адрес
    Мюнхен
    Сообщений
    19,028
    Репутация
    1490
    колега, потрудитесь почитать нашу переписку с поста 23. там все разьяснено, и приведен пример операционной системы, где это падение происходит.

    по виндой это не происходит, никак, но есть и другие операционки, удивлены?
    и конкретно есть операционая система, где данный код вызывает падение, там конкретно названа эта система.

    почитайте

  5. Вверх #65
    Постоялец форума Аватар для Guffy
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    51
    Сообщений
    1,356
    Репутация
    256
    коллега, если раньше обвиняли меня, в том что я дурака валяю, то тут уж, видимо, Вы эстафету подхватили

    посмотрите ну хотя бы сюда http://dims.karelia.ru/x86/mem_1.shtml - первое что нагуглилось.
    возьмите на вооружение термины "дескриптор сегмента" и "селектор сегмента". забудьте ДОС.
    и теперь представьте, что, к примеру, есть такая реализация указателей, когда каждый указатель - селектор сегмента и смещение. а free сбрасывает в таблице дескрипторов флажок "P - бит присутствия". что будет в этом случае при загрузке указателя (когда при любом использовании указателя селектор грузиться в соотв. регистр)? Правильно - "Когда селектор такого дескриптора загружается в регистр сегмента, процессор переходит к обработке нарушения неприсутствия сегмента".
    Такая реализация в теории может быть. А на других архитектурах и подавно.

  6. Вверх #66
    Ладно, господа.
    И вправду экзотика.
    Погорячился...

  7. Вверх #67
    Новичок
    Пол
    Мужской
    Сообщений
    36
    Репутация
    12
    Цитата Сообщение от Guffy Посмотреть сообщение
    когда при любом использовании указателя селектор грузиться в соотв. регистр
    Всё так, бумага процитирована верно. Только там же и написано, что компилятор был brain damaged, потому что грузить указатель в адресные регистры на его платформе абсолютно не нужно. Но вообще я верю, что на какой-нить AS/400 все операции с указателями делаются через специнструкции проца. И в частности вычитание указателей на разные объекты вызовет исключение.


Ответить в теме
Страница 4 из 4 ПерваяПервая ... 2 3 4

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения