|
4 / 4 / 2
Регистрация: 08.06.2014
Сообщений: 89
|
|
Выделение памяти по известному адресу20.07.2014, 22:22. Показов 8459. Ответов 29
Метки нет (Все метки)
Всем привет.
Вопрос сообственно в заголовке темы. Как выделить память по нужному мне адресу, например: Я хочу выделить память n* sizeof(T) по адресу 0x7fff2b98c30c Сделать это нужно для того, чтобы я всегда потом мог обратиься к элементу, который там располагается. И второй вопрос: Как потом получить объект по этому фиксированному адресу?
0
|
|
| 20.07.2014, 22:22 | |
|
Ответы с готовыми решениями:
29
Общий параметр для всех классов и создание объекта по известному адресу |
|
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
|
|
| 21.07.2014, 01:11 | |
|
Ай, ай, ай! Посмотрите VirtualAlloc в MSDN =)) это ровно то, что Вам нужно (на тему об использовании КОНКРЕТНОГО адреса)
Добавлено через 4 минуты Ещё я внезапно загуглил mmap - для unix
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 21.07.2014, 02:53 | ||
|
IIARTEMII, ну вот зачем это советовать? В VirtualAlloc задается адрес границы блока. Если там задан другой адрес, то он округляется до ближайшей границы блока. В общем, это не о том и не за тем
![]() MSDN:
0
|
||
|
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
|
||
| 21.07.2014, 10:49 | ||
|
DrOffset,
MSDN:
Аналогично и с mmap, только для unix И, да, что мешает сравнить адрес, который нам вернула функция с нашим заданным адресом? не совпал - освобождаем или используем другой. На высоком уровне это, вроде бы, единственный способ получить в своё распоряжение заданный нами кусок виртуальной памяти. На низком уровне получите все данные о процессе, который занимает данный кусок памяти, лишите его этого куска, отдайте ему другой, расскажите ему об этом, а себе зарезервируйте отобранный. Тем более, где-то (опять же) читал, что в защищенном режиме при работе с памятью процессу можно просто указать новый физический адрес блока памяти для виртуального блока, при этом оставив все виртуальные адреса на месте. Добавлено через 3 минуты с mmap, конечно, история не напрямую только с памятью связана, тут мы выходим из ситуации при помощи файла
0
|
||
|
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
|
||
| 21.07.2014, 11:00 | ||
|
Если мне склероз не изменяет - их там было.
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 21.07.2014, 18:09 | |||
|
IIARTEMII, ну нет же. даже в том что ты процитировал, ключевое слово pages. VirtualAlloc работает со страницами, а не с конкретными адресами. Я же выделил жирным выше.
Добавлено через 4 минуты
0
|
|||
|
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
|
|||||||
| 21.07.2014, 19:14 | |||||||
|
DrOffset, сколько людей, столько мнений; почему мы не можем, опираясь на
По-моему, всё очень даже хорошо
0
|
|||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||||||
| 21.07.2014, 19:19 | ||||||
0
|
||||||
|
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
|
|||||
| 21.07.2014, 19:38 | |||||
|
Мои сообщения в большей мере о windows (так как ТС не задал конкретных рамок, вполне имею право), под переносимостью я имею в виду версию (XP, win7, win8 и их вариации).
Добавлено через 8 минут Что спорить, если я реализовал резервирование под свои нужды конкретно указанного мной участка виртуальной памяти и использовал его для чтения и записи данных? Вопрос был:
0
|
|||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 21.07.2014, 19:53 | |||
|
IIARTEMII, твоя точка зрения понятна. Спорить дальше смысла не вижу, т.к. я уже в общем-то все сказал.
Добавлено через 11 минут
0
|
|||
|
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
|
|
| 21.07.2014, 20:09 | |
|
Последнее моё слово в этой теме: с помощью предложенного мной метода можно выделять под себя даже 1 байт памяти; подводных камней тут не будет, если понимать, как работает распределение памяти. Человек захотел странного - он это получил, почему бы и нет? А решение не частное) Если программируете под windows, то Вы сами его используете, хоть и не догадываетесь об этом... все мы это используем
0
|
|
| 21.07.2014, 20:09 | |
|
Распределение памяти. Динамическое выделение памяти Выделение памяти, проверка на утечку памяти Данные по адресу памяти Доступ к памяти по адресу Прочитать из памяти по адресу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|