LINUX.ORG.RU

История изменений

Исправление vtVitus, (текущая версия) :

Завести копию структуры и мерить размер от неё

struct fake {
   int i;
   float f;
};

struct real {
   int i;
   float f;
   char buf[4096 - sizeof(struct fake)];
};

Можно через макрос:

#define S_DATA int i; float f; 

struct fake {
   S_DATA
};

struct real {
   S_DATA
   char buf[4096 - sizeof(struct fake)];
};

Исходная версия vtVitus, :

Завести копию структуры и мерить размер от неё

struct fake {
   int i;
   float f;
};

struct real {
   int i;
   float f;
   char buf[4096 - sizeof(struct fake)];
};

Можно через макрос:

define S_DATA int i; float f; 

struct fake {
   S_DATA
};

struct real {
   S_DATA
   char buf[4096 - sizeof(struct fake)];
};