Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: ABI динамических библиотек  [new]
Barlone
Member

Откуда:
Сообщений: 1452
Dimitry Sibiryakov
Размер работает лучше идентификатора версии поскольку даже структуру
неизвестной версии функция может корректно обработать. Например, сериализовать и переслать
кому-нибудь другому.
Не надо функции обрабатывать структуру неизвестного размера. Совместимость там обеспечивается в одну сторону - старая программа, которая не знает о добавленных в структуру полях, запускается на новой версии виндоуз. Функция видит, что размер структуры меньше, и использует для новых полей значения по умолчанию. В обратную сторону никто совместимость не обещал, и если программа передаст размер больше, чем ожидает винда, скорее всего функция вернет ошибку.
29 янв 21, 12:32    [22271152]     Ответить | Цитировать Сообщить модератору
 Re: ABI динамических библиотек  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7634
Разве тупая пересылка куска байтов заранее неизвестной структуры считается обработкой.?
29 янв 21, 13:19    [22271182]     Ответить | Цитировать Сообщить модератору
 Re: ABI динамических библиотек  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52913

petrav
Например, в ::CreateProcess() я вижу совсем другую логику, хотя размер структуры там
присутствует.

И это показывает, что даже в MS нет единомыслия и идеи "как делать правильно" мутируют со
временем.

Posted via ActualForum NNTP Server 1.5

29 янв 21, 13:55    [22271214]     Ответить | Цитировать Сообщить модератору
 Re: ABI динамических библиотек  [new]
petrav
Member

Откуда:
Сообщений: 2861
Dimitry Sibiryakov

petrav
Например, в ::CreateProcess() я вижу совсем другую логику, хотя размер структуры там
присутствует.

И это показывает, что даже в MS нет единомыслия и идеи "как делать правильно" мутируют со
временем.

Могу парировать. Функцию ::CreateProcess() проектировали эксперты. А ту функцию из GDI проектировали
программисты второго плана. По понятным причинам. :)
29 янв 21, 23:09    [22271481]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / C++ Ответить