Форум программистов, компьютерный форум CyberForum.ru

Как операционная система выделяет виртуальную память процессу? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка: invalid conversion from "int" to "SDL_RendererFlip" http://www.cyberforum.ru/cpp/thread1776002.html
Скриншот приложен, Вот страница, откуда я брал этот код Подскажите что делать
C++ Icu итератор Здравствуйте. Подскажите как с помощью icu проитерировать посимвольно UnicodeString и на выходе получить то, что сразу можно в обычный string запихнуть. Нагуглил такой вариант: #include <unicode/unistr.h> #include <unicode/uchriter.h> /******/ icu::UnicodeString ustr("Привет Мир! Hello World! 世界,你好!"); const UChar *testText = ustr.getTerminatedBuffer(); ... http://www.cyberforum.ru/cpp/thread1775959.html
C++ Подскажите пожалуйста либу на плюсах для операций с многоугольниками
Вообще задача - вычитать друг из друга пересекающиеся многоугольники (как во множествах) и соответственно находить результирующие многоугольники. Нашёл либу такую вещь, как "Clipper" но он работает только с целыми числами. Сылшал, что у Майкрософта есть какая-то либа для этого, но найти не могу. Подскажите, пожалуйста. Ну и желательно, чтобы можно было в коммерческих целях юзать.
C++ Как убрать столкновение Объектов на плоскости с пустым пространством?
Код определяет столкновение по х и y. if ((obj1.x + obj1.width >= obj2.x) && (obj1.x <= obj2.x + obj2.width)) XColl = true; if ((obj1.y + obj1.height >= obj2.y) && (obj1.y <= obj2.y + obj2.height)) YColl = true; Если (столкновение) то Obj1.x = Obj1.x-1 // Это движение персонажа. Если (столнулся со стенкой) то назад на 1 Вопрос: У меня получается, что Obj1(персонаж) сталкивается не только...
C++ Lvalue и rvalue http://www.cyberforum.ru/cpp/thread1773566.html
Какая выгода использования rvalue? Допустим есть такой класс class A { public: A() = default; void setName(const std::string& name) { m_Name = name; }
C++ Как сделать проверку нажатия по спрайту хаотичной формы? Игра в изометрии на SDL , и встаёт вопрос как сделать проверку нажатия(мышкой) на объект (например кровать) и совершить действия при нажатии(например спать) подробнее

Показать сообщение отдельно
Убежденный
Системный программист
Эксперт С++
15298 / 6930 / 1096
Регистрация: 02.05.2013
Сообщений: 11,340
Завершенные тесты: 1
07.07.2016, 19:22     Как операционная система выделяет виртуальную память процессу?
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
другими словами адрес, что придёт через new будет от 0..size_t::max за исключением первых 256 - как служебные
Если быть занудным и придирчивым точным, там будет меньше size_t::max.
Верхние адреса - системное адресное пространство, туда загружено ядро ОС и драйверы,
эта часть памяти ни для каких пользовательских процессов напрямую не доступна.

Для 32-битных процессов верхняя планка адреса - около 2 ГБ (или ~4 ГБ на Win64 при
условии флага 'Large Address Aware' в заголовке exe), для 64-битных - около 8 ТБ, а на
Windows 8.1 и выше - около 128 ТБ.

Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Итого: одно адресное виртуальное пространство на процесс, потоки могут иметь доступ к адресному пространству своего процесса.
Вопрос: правильно ли я мыслю, и где можно подробно об этом почитать - не перечитывая всю книгу 98 года по Win 98
Лучшее чтиво по данной теме - книга "Windows Internals" Руссиновича ("Внутреннее
устройство Microsoft Windows"), у него еще есть много интересных статеек в блоге,
например "Преодолевая ограничения Windows - виртуальная память" (а также "физическая
память" и многое другое).

На MSDN и Intel есть тоже полезные статьи по теме виртуальной памяти, трансляции адресов и т.д.,
но они рассчитаны на продвинутого пользователя, там можно очень быстро "перегрузить мозг".
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru