Форум: "Прочее";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
ВнизИз СИ в Паскаль Найти похожие ветки
← →
Германн © (2007-07-20 01:39) [0]"Гложат меня смутные сомнения..."
Есть у меня описание структуры на СИ:
tz_type enum
{
DAY = 0;
NIGHT = 1;
ROUND = 2; };
tz_s struct
{
tz_type typ;
unsigned int start_h;
...
Нужно мне перевести её в Паскаль. Прав ли я, что переменнаяtyp
занимает в этой структуре 4 байта?
← →
wicked © (2007-07-20 01:44) [1]зависит от компилятора и его настроек
например, у борландовского есть такая опция - treat enum as integer (про другие просто не знаю)
когда она установлена, тогда да, sizeof(typ) == sizeof(int)
в противном случае размер, занимаемый переменной типа typ, будет минимальным для того, чтобы вместить все значения из enum
также, не забываем про выравнивание членов структуры... из-за него, например, фактический размер памяти, занимаемый членом typ, может быть и 8 байт
в общем, надо смотреть на опции компилятора и опции выравнивания (#pragma pack)
← →
Германн © (2007-07-20 02:16) [2]
> wicked © (20.07.07 01:44) [1]
>
> зависит от компилятора и его настроек
> например, у борландовского есть такая опция - treat enum
> as integer (про другие просто не знаю)
> когда она установлена, тогда да, sizeof(typ) == sizeof(int)
> в противном случае размер, занимаемый переменной типа typ,
> будет минимальным для того, чтобы вместить все значения
> из enum
>
> также, не забываем про выравнивание членов структуры...
> из-за него, например, фактический размер памяти, занимаемый
> членом typ, может быть и 8 байт
>
> в общем, надо смотреть на опции компилятора и опции выравнивания
> (#pragma pack)
>
Компилятор от MS.
В общем спасибо, успокоил меня. Значит выставляю 4, а тот кто будет пользовать пусть сам установит опции своего компилятора.
P.S. 7:24 до отправления поезда :)
← →
Kostafey © (2007-07-20 02:17) [3]> P.S. 7:24 до отправления поезда :)
Едете куда-то ?
← →
Германн © (2007-07-20 02:41) [4]
> Kostafey © (20.07.07 02:17) [3]
>
> > P.S. 7:24 до отправления поезда :)
>
> Едете куда-то ?
>
Вроде бы да, еду. Кажись в отпуск. По-моему в Бердянск.
Но работу надо сдать до отъезда :(
P.S. 6:69 до отправления поезда :)
← →
Kostafey © (2007-07-20 02:45) [5]> По-моему в Бердянск.
:) Понятненько.
← →
Германн © (2007-07-20 05:27) [6]Отправил письмом работу (халтурку).
P.S. 4:15 до отправления поезда :)
P.P.S.
Пойду полежу. Может смогу "подремать" :)
← →
Riply © (2007-07-20 06:05) [7]Я в таких случаях(несоответствие размера перечисляемого или др. типа) поступаю так:
type
{$MINENUMSIZE 4}
PPREVENT_MEDIA_REMOVAL = ^PREVENT_MEDIA_REMOVAL;
PREVENT_MEDIA_REMOVAL = record
PreventMediaRemoval: Boolean;
end;
{$MINENUMSIZE 4-}
В данном случае у нас Boolean получается четыре байта :)
← →
Германн © (2007-07-20 06:45) [8]
> Riply © (20.07.07 06:05) [7]
>
> Я в таких случаях(несоответствие размера перечисляемого
> или др. типа) поступаю так:
>
P.S. 2:58 до отправления поезда.
Счастливо оставаться! :)
← →
Думкин © (2007-07-20 06:49) [9]До отправленья поезда осталось пять минут
Старый мотив железных дорог
Вечная молодость рельсовых строк
Кажется будто вся жизнь впереди
Не ошибись выбирая пути.
Удачного Обердячивания.
← →
Думкин © (2007-07-20 06:52) [10]Нашел:
http://www.karaoke.ru/song/6814/print/
← →
Германн © (2007-07-20 07:11) [11]
> Удачного Обердячивания.
Мерсибо! :)
P.S. 2:30 до отправления поезда.
Всё! Уехал плавать и загорать. :)
← →
Skyle © (2007-07-20 08:25) [12]
> P.S. 6:69 до отправления поезда :)
Это в галактических координатах?
← →
Riply © (2007-07-20 08:30) [13]>[11] Германн © (20.07.07 07:11)
>P.S. 2:30 до отправления поезда.
>Всё! Уехал плавать и загорать. :)
Желаю хорошо отдохнуть !
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c