Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
10 / 10 / 7
Регистрация: 18.10.2015
Сообщений: 160

Размер структур

23.09.2016, 17:57. Показов 2953. Ответов 20

Студворк — интернет-сервис помощи студентам
Имеется такая вот структура

C
1
2
3
4
5
6
7
8
9
typedef struct _NameTest {
    size_t Arg1;
    NameStruct1 Arg2;
    NameStruct1 *Arg3;
    NameStruct1 *Arg4;
    NameStruct2 *Arg5;
    unsigned char Arg6;
    int Arg7;
} NameTest;
Она в C занимает sizeof(48) а в Delphi sizeof(40) ... Где косяк ?

Delphi
1
2
3
4
5
6
7
8
9
  NameTest = record
    Arg1: integer;
    Arg2: NameStruct1;
    Arg3: PNameStruct1;
    Arg4: PNameStruct1;
    _Arg5: PNameStruct2;
    Arg6: byte;
    Arg7: Cardinal;
  end;

Структура "NameStruct1" выдаёт тот размер, который и должна. С префиксом P это указатели которые по 4 байта

C Packed выдаёт sizeof(37)


Я бы мог закрыть глаза, но в C коде идёт проверка на размер...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2016, 17:57
Ответы с готовыми решениями:

Как изменить размер TImage под текущий размер Picture ?
Доброго времени суток! Есть задача (Delphi 7). В TImage загружается Picture с условиями: Center := True; Proportional := True; ...

Влияет ли размер BLOB поля на размер загружаемых данных
вот если размер фото у меня 6 МБ а размер BLOB поля к примеру 3 МБ то оно будет сохранять фото в таблицу?

Подогнать размер flash картинки под размер компонента shockwave flash
В общем есть flash картинка. У нее снизу оставлено белое место (пустое) для дополнительных пунктов меню. При открытии файла получается...

20
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
25.09.2016, 01:02
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от krapotkin Посмотреть сообщение
Arcor, тем не менее, именно так весь WinAPI сделан ))
ну, куда уж тогда нам до туда :good:, будем знать и это еще



Добавлено через 5 часов 48 минут

Не по теме:

Цитата Сообщение от bormant Посмотреть сообщение
Delphi
1
if some.Size=SizeOf(TSome_v1) then {вызов от старого клиента}
...
Delphi
1
if some.Size=SizeOf(TSome) then {измененная версия, доступно поле Fld2}
в общем говорили вроде как бы об одном и том же, по крайней мере я об сем и прокручивал в голове. Только может словами не мог высказать ту мысль, так как "программер" я тупо самоучный, а по профе почти инженер-электронщик вообще :) спасибо за прояснения, просто не всегда просто изменить точку зрения на противоположную.... были бы преподаватели опытные, было бы круто!, а то пока сам "допетришь"...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.09.2016, 01:02

Маршалинг структур. Размер string
В общем начал разбираться с маршалингом структур. правда некоторые моменты непонятны. например Вот я делаю так public...

Как в RunTime изменить размер массива структур
Как во время выполнения изменить размер массива структур? Внутри стуктуры как один из членов, содержится массив. Public Structure...

Отсортировать массив структур (фамилии студентов и размер их стипендии) по размеру стипендии
Помогите с задачей Условие:"заданный тип структур что содержатся следующие сведения какие фамилии студентов и размер их...

Как изменить размер динамического массива структур после того как был добавлен товар
Подскажите как мне изменить размер динамической массива структур после того как был добавлен товар , countProduct-это и есть размер массива...

Структуры.Обработка массивов структур.Создать массив структур из 10-ти элементов
Создать массив структур из 10-ти элементов: <Номер договора><Фамилия клиента><стоимость товара><выплаченная сумма> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru