[devel] error: `sizeof' applied to a bit-field

Paul Wolneykien manowar на altlinux.org
Чт Июл 8 14:53:15 UTC 2010


08.07.2010 18:52, Kirill A. Shutemov пишет:
> On Thu, Jul 08, 2010 at 06:40:06PM +0400, Paul Wolneykien wrote:
>>
>>   Всем привет,
>>
>>   Собрал я кроссом libalsa и ядро для одной железяки на ARM. И всё почти
>> работает (звук воспроизводится), за исключением некоторых IOCTLs. Как
>> оказалось, разница в размере структуры данных, которая передаётся вызову
>> в качестве аргумента. При этом, определения структур в ядре и в
>> библиотеке совпадают. Размеры большинства отдельных полей этих структур
>> также совпадают. Однако размер одного из полей
>>
>> struct snd_ctl_elem_value {
>> ...
>>   unsigned int indirect: 1;
>> ...
>>
>> выяснить не удалось -- ошибка компиляции "`sizeof' applied to a
>> bit-field". Получается что он не известен на этапе компиляции?
>>
>>   Я подозреваю, что на итоговый размер структур оказывает влияние именно
>> это поле. Расхождение -- 4 байта (708 байт в ядре, и 712 байт в библиотеке).
>>   Как понять? Как уровнять?
> 
> А каким кроссом вы пользовались?

  Монтависта № 4. Но я и ядро им собираю.


Подробная информация о списке рассылки Devel