Где я могу прочитать больше о структуре памяти в C ++? - PullRequest
1 голос
/ 23 июля 2010

Я встречал эту презентацию , просматривая SO некоторое время назад, и она связывает производительность с конкретными решениями по распределению памяти. У автора есть несколько интересных диаграмм, которые показывают, как различные объекты распределяются программой на C ++, и продолжает оптимизировать программу, внося некоторые изменения в код. Его диаграммы имеют смысл в их собственном контексте, но я хотел бы узнать больше о том, как нарисовать мою собственную.

Где я могу узнать больше о том, как C ++ выделяет объекты в памяти? Я хотел бы знать, как размещаются различные структуры (массивы, указатели, целые числа и т. Д.) При написании программы в деталях. С этим связаны методы предварительного кэширования, такие как _dcbt, которые также звучат интересно.

Ответы [ 4 ]

3 голосов
/ 23 июля 2010

Обратите внимание, что C ++ очень мало говорит о том, как объект размещается в памяти.Все детали реализации оставлены на усмотрение отдельных поставщиков компиляторов.

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

3 голосов
/ 23 июля 2010

У вас не должно возникнуть проблем с поиском любого количества сайтов с информацией о распределении памяти в C ++. Вот небольшой пример из быстрого поиска Google:

Вот пара книг, которые также могут вас заинтересовать:

1 голос
/ 23 июля 2010

Рекомендую вам лучшую учебную книгу по языку C ++:

Язык программирования C ++, Бьярн Страуструп, отец языка C ++

http://www.amazon.com/Programming-Language-3rd-Bjarne-Stroustrup/dp/0201889544

0 голосов
/ 23 июля 2010

У Дуга Ли есть страница , описывающая реализацию malloc. Это старая статья, но я думаю, что большая ее часть все еще актуальна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...