Главная страница
    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.039 c
1-1180541090
DevilDevil
2007-05-30 20:04
2007.08.19
ShowModal и MessageBox


4-1172572399
LENIN_INC
2007-02-27 13:33
2007.08.19
LENIN INC WIN32API Library v1.2 (build 23.08.2006)


2-1185530869
gray_falcon
2007-07-27 14:07
2007.08.19
помогите написать скрипт-движок


5-1159542115
ProgRAMmer Dimonych
2006-09-29 19:01
2007.08.19
Отлов клавы в одной процедуре


10-1135653699
Bratskiy
2005-12-27 06:21
2007.08.19
Поиск жирного шрифта в word





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский