[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: