Главная страница
    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.043 c
1-1180368669
Dmitry_177
2007-05-28 20:11
2007.08.19
Перехват клавиатуры


4-1172494487
Unknown user
2007-02-26 15:54
2007.08.19
Как БЫСТРО подсчитать кол-во файлов в заданном каталоге?


2-1185349418
mfender
2007-07-25 11:43
2007.08.19
Отчего может случится такой Aсces Violation?


2-1185141282
Альберт
2007-07-23 01:54
2007.08.19
Проверка на существование файла или директории


2-1185515132
zod
2007-07-27 09:45
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский