Автор Тема: Свободные адреса памяти  (Прочитано 7134 раз)

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: Свободные адреса памяти
« Ответ #15 : Январь 22, 2014, 05:10:40 pm »
xanser ну давай по думаем, во первых что выделяется для игры, все эти места памяти (обычно это статичные объекты, константы, массивы все это как глобальные переменные) они всегда для чего-то были предназначены. Во вторых иной раз компилятор выделает сам глобальные переменные, т.е изначально это не была работой R* , это делается с целью оптимизации, можно иногда замечать на практике, такие значения как 0.00232111 и просто не человеческие виды, и многие даже иной раз путают и думают а это какой-то математический коэффициент. В третьих если мы хотим использовать уже какой-то участок памяти в игре, как говорится свободный, то мы обязательно должны его "отвязать" от других функций и.т.п., обычно на эти участки есть ссылки с других участков. При это когда мы начнем делать этот метод, мы в точности должны будем знать как это повлияет на ход игры и также должны будем удостовериться, что больше к этой области памяти нету обращений. Ну итог какой у нас? Надо ли делать такой метод, зачем он нам? Когда есть методы лучше. Если есть еще какие-то вопросы могу еще что-то рассказать...

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Re: Свободные адреса памяти
« Ответ #16 : Январь 22, 2014, 05:46:17 pm »
Для чего такие участки: 0x5D8913 ?

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: Свободные адреса памяти
« Ответ #17 : Январь 22, 2014, 06:25:13 pm »
Цитировать
.text:005D8920         sub_5D8920      proc near

А это метод и скорее всего похож на то что, работает с аудио игры. Точно пока не могу сказать, так как только глянул, но знаю что это метод.

Оффлайн xanser

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 598
  • Репутация: +92/-0
  • Есть такая профессия - на работе сидеть
    • Просмотр профиля
Re: Свободные адреса памяти
« Ответ #18 : Январь 22, 2014, 06:38:27 pm »
А место между 0x5D8913 и 0x5D8920, похоже на какую-то "дырку" и таких мест куча. Какую роль они играют? Как-то выглядит не очень оптимально.

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 521
  • Репутация: +34/-0
    • Просмотр профиля
Re: Свободные адреса памяти
« Ответ #19 : Январь 22, 2014, 07:15:27 pm »
Цитировать
.text:005D8913 00 00 00 00 00 00 00 00 00 00 00 00 00                              align 10h

Это не дыра, это просто заполнение пустыми байтами, в первую очередь это называется выпрямление, это повышает производительность исполнения. Об этом можно прочитать в тех книгах, в которых рассказывается про устройство памяти в Windows. Эти уже занимается компилятор, а более точней его оптимизатор.
« Последнее редактирование: Январь 22, 2014, 07:19:20 pm от Sektor »