Главная страница
    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.47 MB
Время: 0.043 c
15-1185173044
Забыл пароль
2007-07-23 10:44
2007.08.19
Статья на рбк. Сможет кто-нить объяснить?


2-1185005129
apic
2007-07-21 12:05
2007.08.19
Вид курсора


15-1185117642
Kostafey
2007-07-22 19:20
2007.08.19
Чтобы клавитуру не ломать...


1-1181402540
Yus
2007-06-09 19:22
2007.08.19
RichEdit Как оперделить форматирование строки


2-1185386389
Alexey_k
2007-07-25 21:59
2007.08.19
Сворачивание формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский