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

Как malloc выделяет память? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти минимальное ребёрное и вершинное покрытие графа http://www.cyberforum.ru/cpp-beginners/thread1202090.html
Подскажите плз алгоритм решения с примером
C++ Найти сумму цифр вещественного числа, введенного пользователем Здравствуйте! Найти сумму цифр вещественного числа, введенного пользователем. Как это можно реализовать в функции? Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread1202087.html
Сообщить о прекращении приёма заказов C++
Нужно решить задание. Фирма набирает заказы через Интернет, заказ берется к выполнению, если он больше чем на 300 единиц, иначе отказ от заказа. Фирма прекращает набирать заказы, если набрано заказов на сумму от 2000 единиц (сообщить о прекращении приёма заказов). Учесть, что максимальная мощность фирмы 3000 единиц, больше выполнить она не в состоянии.
C++ Подскажите, почему это работает!?)
Мне необходимо изменить все строчные буквы на заглавные, это все получается. Я ввожу символы(причем заметьте массив чар из 0, но программа все равно работает) я что-то разобраться не могу почему, подскажите что я не знаю и не понимаю, если Вас не затруднит. По-моему мнению, она должна читать только первый символ, но программа выводит все символы строки, например: Hello world. Выводит:...
C++ Движение шайбы в хоккее на С++ (DOS) http://www.cyberforum.ru/cpp-beginners/thread1202069.html
У меня есть код программы, всё готово: меню, help, прорисовано поле и всё что необходимо. Подскажите как реализовать движение шайбы.. Я вообще не представляю. Заранее большое спасибо! Вот мой код: #include <graphics.h> #include <iostream.h> #include <conio.h> #include <stdlib.h> #include <dos.h>
C++ Выражение, меняет местами значения средних байт Дано целое длинное число. Прошу объяснить, что имеется в виду, и направить на материал, который бы немножко пролил бы света. Буду очень благодарен подробнее

Показать сообщение отдельно
Renji
1532 / 980 / 238
Регистрация: 05.06.2014
Сообщений: 2,950
08.06.2014, 13:06     Как malloc выделяет память?
Цитата Сообщение от PlayaRC Посмотреть сообщение
Тогда почему, при выделении 4 байт памяти напрямую через VirtualAlloc я могу по возвращенному указателю записать 1024 инта (если sizeof(int) = 4 байта), а если выделить 4 байта через malloc - меньше, если по сути она использует VirtualAlloc?
При запуске программы ей доступно адресное пространство в четыре гигабайта. На бумаге. Реально большая часть этих адресов ведет в никуда (буквально).
VirtualAlloc связывает часть адресов с физической памятью. Теперь они доступны для чтения-записи. Адреса с которыми работает VirtualAlloc всегда выравнены на границу страницы.
malloc ищет четыре бесхозных байта которые вроде и связаны с физической памятью, но никем не используются. Если найдет - возвращает пользователю и делает себе пометку "эти четыре байта заняты". Если не найдет - пинает VirtualAlloc и просит еще мегабайтик дать.
Когда пользователь пытается что-то, куда-то писать, процессор проверяет "а не идет ли запись в некуда?". Если запись идет в никуда, то процессор ругается нехорошими словами.
 
Текущее время: 17:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru