них размер только в рантайме считать
struct interface_descr
bLength db ?
bDescriptorType db ?
bInterfaceNumber db ?
bAlternateSetting db ?
bNumEndpoints db ?
bInterfaceClass db ?
bInterfaceSubClass db ?
bInterfaceProtocol db ?
iInterface db ?
ends
Почему?
Как там 9 байт может быть, если обьявлено поле с размером 1 байт??
Вообще для таких странных вещей есть макрос struc
Так это поле размера структуры, который равен 9
Какие же странные люди, которые используют макросы...
а за структурой есть ещё до 0xffff-9 байт по сути относящихся к этой структуре
Не написал коментов?)
Не понял, размер структуры же вроде фиксированный
Что мешает написать struct interface_descr bLength db sizeof.interface_descr bDescriptorType db ? bInterfaceNumber db ? bAlternateSetting db ? bNumEndpoints db ? bInterfaceClass db ? bInterfaceSubClass db ? bInterfaceProtocol db ? iInterface db ? ends
Так я всё равно не пойму, почему размер этой структуры только динамически вычисляется??
потому что заранее он неизвестен, это кот в мешке
Я тоже не понимаю, почему бы статически его не указать сразу в поле
Почему он заранее неизвестен?
Почему неизвестен? sizeof.interface_descr
потому что это базовые поля и ты не можешь знать что там ещё производитель зфигачит
Что ты несёшь...
То есть, ты реально говоришь "А есть ещё такая структура: ..., но размер её неизвестен, потому что это не такая структура, а может и не структура, а может её нет, поэтому неизвестен размер"?
даже отвечать не буду, я чётко сказал, структура в виде макроса описывает базовую структуру дескриптора, но производитель вполне может её расширить своими полями и для вычисления следующей структуры нужен будет реальный размер
который записан в первом байте
Структура в виде макроса??? Базовую структуру дескриптора?? ЧТО я сейчас прочитал? 😂
Это всё извращение
Обсуждают сегодня