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

Что почитать про распределение памяти? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проблема с подключением стандартных либ http://www.cyberforum.ru/cpp-beginners/thread160972.html
При компиляции даже такого проекта в Eclipse идет ошибка. Текст ошибки: Building target: Proj Invoking: GCC C++ Linker g++ -o"Proj" ./Proj.o /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status make: *** Ошибка 1
C++ Заполнение массива вещественными числами с двумя знаками после запятой Здравствуйте! Я только начала работать в С++ и не знаю как заполнить одномерный массив из 10 элементов вещественными числами в диапазоне от 1 до 10 с двумя знаками после запятой. Проблема именно в количестве знаков после запятой. Как это сделать? http://www.cyberforum.ru/cpp-beginners/thread160955.html
C++ Включение поддержки UNICODE в программе
Помогите пожалуйста с такой проблемой: я написал программу используя просто main(). В программе у меня есть функции, в которых выполняется функция main(). Захотелось добавит поддержку юникода, переименовал main() в int _tmain(int argc, _TCHAR* argv) а вот как его в функциях писать - не пойму. В общем что мне писать чтобы из функций main запускался?
Бот для браузерной игры C++
Решил написать бота для браузерной игры, и задался вопрос как это сделать, знаю что иногда боты пишут на JavaScript, но я пока учу Си, и не хочу метаться от языка к языку программирования. Слышал что можно писать плагины для IE, а для opera можно? а то игра вапоская, и другие браузеры ёё не держат. Решил спросить совета у Вас(опытных программистов), как можно написать бота?
C++ Не определяется функция _atold http://www.cyberforum.ru/cpp-beginners/thread160887.html
Почитал про данный метод. На сколько я понял, он может привести массив char к типу double. Так же, указано, что он принадлежит к stdlib.h или к math.h Только вот в моем случае, при подключении данных библиотек, метод _atold() подчеркивается красным цветом, т.е. не определяется. Может я что-то не так делаю?
C++ Текст в CodeBlocks Здравствуйте. При компиляции программы в CodeBlocks выскакивают ошибки: DEVCAPS1.cpp:53: undefined reference to `GetStockObject@4' DEVCAPS1.cpp:95: undefined reference to `GetTextMetricsA@8' DEVCAPS1.cpp:109: undefined reference to `TextOutA@20' DEVCAPS1.cpp:112: undefined reference to `TextOutA@20' DEVCAPS1.cpp:114: undefined reference to `SetTextAlign@8' DEVCAPS1.cpp:116: undefined... подробнее

Показать сообщение отдельно
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
23.08.2010, 12:16     Что почитать про распределение памяти?
Тут не только разработчики компиляторов - свои ограничения еще накладывает операционная система.

Что касается знать все и сразу досконально - это вряд ли получится.
Нужно постепенно углубляться в предмет изучения.

Вопросы можно просто записывать, чтобы потом проверить появился ли ответ на вопрос или еще нет

Скажем, когда создается переменная, она сохраняется в стеке
Не совсем так - например глобальная переменная не сохраняется в стеке.

почему, скажем, мы в стеке не можем хранить объекты
Можем хранить.
Но стек не резиновый - объект может быть большой и просто не влезет в стек.
Поэтому C++ рекомендует объект хранить в куче, а в стеке получается что будет храниться переменная - указатель на объект.
Стек имеет ограниченный размер - например 16Mb.

можем ли мы объекты создавать где угодно в любом месте памяти а не только в куче
Теоретически да.
Но практически распределение памяти скорее всего такое, что свободная доступная приложения память находится только в куче.
При этом если в куче мало места, то программа попросит ОС расширить ей область памяти занятую под кучу. Но это расширение тоже не бесконечно. Под Windows скорее всего получиться выделить не более 2Gb памяти в 32-битном режиме.
 
Текущее время: 12:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru