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

Вниз

Что значит слово packed в объявлениях   Найти похожие ветки 

 
michael ©   (2003-10-01 14:16) [0]

Что значит слово packed в следующих объявлениях:
TPhoneRec = packed record
PersonName: string[25];
Address: string[25];
Phone: string[16];
end;
Name: packed array[1..8] of char;
Чем бы они отличались если в них отсутствовало слово packed?


 
MBo ©   (2003-10-01 14:18) [1]

см. хелп, там это есть.
кратко - не будет выравнивания данных, они будут лежать вплотную


 
clickmaker ©   (2003-10-01 14:23) [2]

Обычно это используется при переводе структур из DLL без исходников, когда не ясно, какое там выравнивание стоит. Если рекорд юзается только твоей прогой, смысла в этом особого нет


 
Anatoly Podgoretsky ©   (2003-10-01 15:10) [3]

А вот это абсурд, если не ясно какое там выравнивание стоит, то packed не поможет.


 
michael ©   (2003-10-01 15:32) [4]


> Anatoly Podgoretsky © (01.10.03 15:10) [3]

Дак может вы тогда объясните? Я токое обявление встертил в вашей статье.


 
clickmaker ©   (2003-10-01 15:38) [5]

Ну да, неверно выразился :)

Короче, если на Си написана DLL, в ней есть структура, которую хочется поюзать из дельфового приложения, то чтобы не зависеть от настроек выравнивания компиляторов можно так сделать: в Си ее объявить так

#pragma pack(1)
struct TPhoneRec {
char PersonName[25];
char Address[25];
char Phone[16];
}
#pragma pack(1)

ну а в Дельфях

TPhoneRec = packed record
PersonName: array[0..24] of char;
...
end;

Ну и при записи рекордов в двоичные файлы тоже полезно, чтобы несовместимостей между различными приложениями не возникало


 
Е-Моё имя ©   (2003-10-01 15:42) [6]


> Что значит слово packed в объявлениях

если полей в записи на N байт, значит именно N она и будет занимать
если не packed-может быть N+m



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
1-65429
[BAD]Angel
2003-10-07 15:48
2003.10.20
Как прочитать комментарий из JPG-файла?


1-65519
Russko
2003-10-09 12:51
2003.10.20
TLabel


14-65599
Knight
2003-09-29 23:06
2003.10.20
Что не говорите, а в рекламе часто правду говорят...


14-65640
kaif
2003-09-30 07:58
2003.10.20
Склад и валюты


3-65381
Sam Stone
2003-09-28 17:36
2003.10.20
Копия записей