Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
1-1181214309
Jkot
2007-06-07 15:05
2007.08.19
Проверка подключения к интернету


15-1184751371
Боб
2007-07-18 13:36
2007.08.19
Voice modem . Как через него передать голосовое сообщение.


2-1184496516
vegarulez
2007-07-15 14:48
2007.08.19
Эдит энабле:=фалсе, как сделать фонт цветом, как в труе?


3-1178188976
zdm
2007-05-03 14:42
2007.08.19
Insert


15-1184667005
pavel_guzhanov
2007-07-17 14:10
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский