|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.07.2017, 13:29 | #1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
узнать, сколько памяти занимает класс
Код:
Код:
p.s. Пока это писал, заметил что если объявить в классе переменную типа Word или SmallInt, то размер увеличивается не на 2, а на 4 байта. Почему? Это ведь 16-битные числа. Или целочисленная переменная в 32-битном процессе это всегда 4-байтный указатель? то есть Код:
Последний раз редактировалось BLACK_RAIN; 03.07.2017 в 13:31. |
03.07.2017, 13:56 | #2 | |||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Цитата:
последующие данные КАК ПРАВИЛО оптимально размещать на границе слова. 32-битное выравнивание. И значит 3 байта в пролёте. Цитата:
Код:
и НИКТО НЕ ГАРАНТИРУЕТ что внутри классов нет еще ссылок(указателей) на другие классы. более того почти наверняка они есть. не видно смысла в "универсальном" подсчете. А если учесть, что многие объекты имеют ссылку на ОДИН и тот "собственнический" объект. TCollection TCollectionItem.Collection то как считать здесь???
программа — запись алгоритма на языке понятном транслятору
|
|||
03.07.2017, 14:07 | #3 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Цитата:
То есть, правду пишут, что никак нельзя? |
|
03.07.2017, 14:36 | #4 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
что есть память занимаемая объектом?
Вар1. экземпляр занимает ровно столько, сколько выделено памяти для хранения ВСЕХ данных, включая ВСЕ внутренние объекты (указатели(ссылки), массивы(по сути те же ссылки), строки( это те же ссылки) .... ) Цитата:
Вар 2. классический!!! память занимаемая непосредственно САМИМ объектом. без учета ссылочных объектов (ну кроме учета размера самой ссылки), поскольку это на самом деле ОТДЕЛЬНЫЕ (и самостоятельные!) объекты и всего навсего ИСПОЛЬЗУЕМЫЕ нашим.
программа — запись алгоритма на языке понятном транслятору
|
|
03.07.2017, 14:55 | #5 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
03.07.2017, 15:15 | #6 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
webbrowser при обновлении страницы занимает больше оперативной памяти | КатяСаша | Общие вопросы Delphi | 10 | 01.11.2016 18:44 |
Как узнать сколько сводных таблиц и сколько срезов на рабочем листе? | RISagitov | Microsoft Office Excel | 0 | 31.10.2015 19:30 |
Определить, сколько места занимает программа в памяти | kolian87 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 26.01.2015 07:47 |
Как узнать с какого по какой адрес занимает процесс в системе. | kalexi | Win Api | 2 | 30.03.2008 15:48 |
Количество оперативной памяти которое занимает программа | werser | Помощь студентам | 1 | 03.02.2008 02:22 |