Вниз
Скачать: CL | DM;

Непонятная ошибка компилятора   Найти похожие ветки 

← →
Piero   (2003-10-15 20:32) [0]

Столкнулся с непонятной мне ошибкой:
Создается переменная следующего типа:

TheObject = record
Abonent_Razv: smallint;
Abonent: smallint;
Typ_Obj: smallint;
X: integer;
Y: integer;
Front: smallint;
Glubina: smallint;
Ukrytost: byte;
Xar_Deiat: byte;
Dat_Zas: TDate;
Nomer:integer;

И в 2-х практически одинаковых поектах при вызове sizeoftype,
получается 32 и 40 байт (на самам деле верно - 32), опции проекта одинаковые, директивы компилятора тоже, может кто-то встречался с подобными проблемами


← →
Anatoly Podgoretsky ©   (2003-10-15 20:41) [1]

Наверняка твоя ошибка, с выравниванием.
Ты хочешь всегда 32, так используй packed


← →
Моджахед ©   (2003-10-15 20:49) [2]

packed record, чтобы избежать выравнивания


← →
Моджахедос   (2003-10-15 20:50) [3]

Упс


← →
Моджахед ©   (2003-10-15 20:50) [4]

Упс


← →
Piero   (2003-10-15 21:18) [5]

Спасибо


← →
Piero   (2003-10-15 21:19) [6]

А если я хочу всегда получать 40 байт


← →
Anatoly Podgoretsky ©   (2003-10-15 21:23) [7]

Piero (15.10.03 21:19) [6]
А вот это сложнее, от компилятора зависит



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
14-89467
Е-Моё имя
2003-10-07 10:17
2003.10.27
сказ про то, как модератор был предан анафеме


6-89445
SergP
2003-08-16 17:30
2003.10.27
О запросах браузера и ответах Web-сервера.


9-89088
Хранитель_7К
2003-04-22 09:15
2003.10.27
OpenGL: Triangles=>Triangle_Strip


6-89441
SPeller
2003-08-27 08:25
2003.10.27
Ограничение скорости


3-89163
Explorer
2003-09-15 13:30
2003.10.27
InstallShield и BDE




   Наверх