Как подсчитать размер структуры до компиляции?

Для тех, кто хочет сделать мир лучше.
Закрыто
Сообщение
Автор
proplayer666
Маппер
Маппер
Сообщения: 1748
Зарегистрирован: 18.02.2008
Откуда: <удалено>

#1 Сообщение 31.10.2009, 00:23

Собственно такой возник вопрос. Есть структура с множеством членов и нужно определить её размер средствами VS2008. sizeof и вывод через консоль не предлагать. Ах да язык С++
Завязываю с играми
Мну в Xbox LIVE
Изображение
Изображение
Изображение

Morfin
Лейтенант
Лейтенант
Сообщения: 237
Зарегистрирован: 19.10.2007
Поблагодарили: 1 раз

#2 Сообщение 31.10.2009, 03:25

Ну я могу сказать только то что размер структуры равен сумме размеров ее элементов если конечно нет взаимоисключающих полей тогда не знаю
P.S

Код: Выделить всё

struct PERSON {   //
   unsigned int age;   // 4
   long ss;   // 4
   float weight; //4 
   char name[28]; //28
} family_member;
//Итого 40 что и требовалось доказать
printf("%d",sizeof(family_member)); //Выводит те же 40
Размер union-ов не считается если что
Изображение

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#3 Сообщение 31.10.2009, 07:44

а чем sizeof не угодил?

proplayer666
Маппер
Маппер
Сообщения: 1748
Зарегистрирован: 18.02.2008
Откуда: <удалено>

#4 Сообщение 31.10.2009, 09:06

Morfin
Так проблема в том что много элементов (хрен подсчитаешь :) ) в структуре алсо для ускорения компилятор делает размер кратным 2 или 4.
$t@t!c_V()1D
Это я смотрю сурсы одной либы. Нужен просто размер для вызова функции через P/Invoke (заполню нужную структуру массивом shortint'ов).
Завязываю с играми
Мну в Xbox LIVE
Изображение
Изображение
Изображение

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#5 Сообщение 31.10.2009, 13:22

WTF?

Аватара пользователя
Dr_Quake
Майор
Майор
Сообщения: 654
Зарегистрирован: 10.03.2008
Поблагодарили: 6 раз
Контактная информация:

#6 Сообщение 31.10.2009, 13:30

Так и поищи скрипт который тебе по исходнику посчитает. Либо напиши сам.

proplayer666
Маппер
Маппер
Сообщения: 1748
Зарегистрирован: 18.02.2008
Откуда: <удалено>

#7 Сообщение 01.11.2009, 15:24

Все спасибо всем проблему решил. Тему можно закрывать
Завязываю с играми
Мну в Xbox LIVE
Изображение
Изображение
Изображение

Закрыто