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

Вниз

Обяъсните неграмотному Packed Record   Найти похожие ветки 

 
allucard   (2007-05-23 08:28) [0]

Доброго дня.

_IMAGE_IMPORT_DESCRIPTOR = packed record
case Integer of
 0:(
  Characteristics: DWORD);
 1:(
  OriginalFirstThunk:DWORD;
  TimeDateStamp:DWORD;
  ForwarderChain: DWORD;
  Name: DWORD;
  FirstThunk: DWORD);
 end;


Обьясните пожалуйста что даёт case в этой конструкции?


 
Однокамушкин   (2007-05-23 08:35) [1]

Поля, перечисленные под метками 0 и метками 1, занимают одну и ту же область памяти, т.е. к этой области памяти можно в зависимости от потребностей обращаться то как будто там лежит структура (Characteristics: DWORD), то как будто там лежит структура (OriginalFirstThunk:DWORD; TimeDateStamp:DWORD; ForwarderChain: DWORD; Name: DWORD; FirstThunk: DWORD).

В данном случае особой выгоды не просматривается... По набору полей нулевой вариант является подмножеством первого, разве что имена различаются...


 
allucard   (2007-05-23 08:49) [2]

в принципе идея ясна.

но как указать, какая структура мне нужна(0-я или 1-я)?


 
Однокамушкин   (2007-05-23 08:54) [3]


> но как указать, какая структура мне нужна(0-я или 1-я)?


А никак не надо указывать... Просто обращайтесь к полям той или иной структуры, а компилятор, он умный, разберётся... :)


 
allucard   (2007-05-23 08:58) [4]


> Однокамушкин   (23.05.07 08:54) [3]

спасиб.



Страницы: 1 вся ветка

Текущий архив: 2007.06.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
3-1174464801
nick_van_rijn
2007-03-21 11:13
2007.06.10
тормоза при исполнении множественных запросов


4-1166970048
vertal
2006-12-24 17:20
2007.06.10
Точность измерения временных интервалов для UART в windows


15-1179009518
Real
2007-05-13 02:38
2007.06.10
А что с гисметео?....


15-1179043342
Calibr
2007-05-13 12:02
2007.06.10
Вопрос по RxLibrary 2.5


2-1179396735
17Landgraf
2007-05-17 14:12
2007.06.10
Как изменить свойства файла