Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Из СИ в Паскаль   Найти похожие ветки 

 
Германн ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
15-1184838405
@!!ex
2007-07-19 13:46
2007.08.19
Проблемы с ICQ


2-1185159985
Abcdef123
2007-07-23 07:06
2007.08.19
Вопрос по использованию Frame


15-1184783262
Cyrax
2007-07-18 22:27
2007.08.19
Обеспечение целостности базы данных для интернет-магазина


15-1185042427
koha
2007-07-21 22:27
2007.08.19
Странное письмо получил


3-1178081249
pavel_guzhanov
2007-05-02 08:47
2007.08.19
Не пойму, почему долго работает следующий код