Про указатели

Тема в разделе "WASM.WIN32", создана пользователем EvilsInterrupt, 27 фев 2005.

  1. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Используя MS_Visual C++ v6.0 находясь в w2k sp4.

    Написал небольшой код на си ++ и глянул в отладчик.



    Из увиденного заключил:



    I часть:



    1. Выделенные локальные переменные заполнены не случайными

    значениями а "cc", но наверное это только для Visual C++ v6.0



    2. Указатели разных разновидностей в С++, на уровне маш.ко-

    да реализованы идеинтично из чего вывод: за постоянностью

    следит только компилятор



    Насколько правильны мои выводы из увиденного кода

    дебуг версии?



    II часть:



    я выделил только одну переменную типа int следовательно должно

    выделиться только 4 байта!

    А в коде вижу sub esp,54



    Куда еще 50 скушалось?



    Аттач:

    [​IMG] 1319218292__const_pointer.cpp
     
  2. Smile

    Smile New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2004
    Сообщения:
    129
    Млин, уже много раз говорили, 0xCC для отоладочной версии стандартная инициализация в VCPP.



    Если ты переживаешь насчет const указателей, они,естественно, неизменяемы только на стадии компиляции,

    ну или в какой архитектуре эта возможность реализованна аппаратно.



    >Куда еще 50 скушалось?

    Наверное для личных нужд :)
     
  3. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    EvilsInterrupt



    не одну, твои константные указатели тоже размещены на стэке.





    в данном случае да. Но статические константные переменные

    компилятор по умолчанию размещает в read-only секции .rdata (не всегда правда).

    И тогда попытки записи пресекаются аппаратно.
     
  4. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    спасибо! я так и думал что в .rdata или если я правильно понял можно было бы размесить и в .const