Re: gcc bug?
Dmitry E. Oboukhov -> debian-russian@lists.debian.org @ Thu, 18 Nov 2004 16:08:43 +0300:
>> > в смысле компилятор будет ругаться на применение любого индекса с ним?
>> > или что?
>>
>> Не обязан.
>>
>> Эту конструкцию применяют обычно в конце структур заголовок - данные,
>> чтобы можно было сослаться на начало данных без извращений с адресной
>> арифметикой.
DEO> то есть что-то вроде
DEO> struct
DEO> {
DEO> unsigned char byte[0];
DEO> int data1;
DEO> char data2;
DEO> ...
DEO> } a;
DEO> чтобы обращаться к a.data1 как к a.byte[0], a.byte[1]... ?
Нет. struct {
int data1;
char data2;
unsigned char byte[0];
}
и дальше в памяти расположены собственно данные из этого byte, а сколько
их - знает только приложение.
DEO> и что компилятор ТАКОЕ допускает?!
Ну да. Пол-винды так написано, например.
--
Artem Chuprina
RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, Jabber: ran@jabber.ran.pp.ru
Reply to:
- References:
- Re: gcc bug?
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- Re: gcc bug?
- From: "Dmitry A. Fedorov" <D.A.Fedorov@inp.nsk.su>
- Re: gcc bug?
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>