![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
есть какие то ситуации, когда использование packed обязательно? [D6, XP]
Mr tray © (2006-05-16 18:45:00)есть ли какие то ситуации, когда использование packed обязательно?
Германн (2006-05-17 02:36:00) [1]Добавлю и я "От железячника".
Моё железо "знать не знает и знать не хочет!" о каком-либо "выравнивании"!
Loginov Dmitry (2006-05-16 20:57:00) [2]Mr tray (16.05.06 18:45)
есть ли какие то ситуации, когда использование packed обязательно?
Есть. Например без packed не прочтешь заголовочную информацию ни у одного графического файла (известного формата).
Ega23 (2006-05-16 19:13:00) [3]
> Move(A:TA,B:TB,SizeOf(A)); - не прокатит.
Вот если бы у меня подчинённый так написал, нем более - с такими типами данных - я бы его сразу нафиг уволил.
Rial (2006-05-16 19:11:00) [4]А ты знаешь, что оно вообще меняет (если да, то странный вопрос)?
Как хочешь, так и используй.
Желательно - при копировании записей из одной в другую, если
внутреннее строение разное:
TA=packed record
A:Byte;
I:Integer;
E:Extended;
B:Byte;
R:Real;
C:Char;
end;
TB=packed record
Ar:Array[0..14]of Byte;
E:Extended;
end;
Без "packed" ты получишь различнеые размеры записей и
Move(A:TA,B:TB,SizeOf(A)); - не прокатит.