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

Re: а кто C хорошо знает?



On Mon, 8 Oct 2012, Dmitry E. Oboukhov wrote:

#define SOMETING(__name, __size)            \
   struct {                                \
       struct something s;                 \
       unsigned items[__size];             \
   } __attribute__((packed)) __name = {    \
       .s = {                              \
           .size = __size,                 \
       }                                   \
   }


 А если так:

#define SOMETING(__name, __size)                \
   struct {                                     \
       struct something s;                      \
       unsigned items[__size];                  \
   } __attribute__((packed)) __name##_tmp = {   \
       .s = {                                   \
           .count = __size,                     \
       }                                        \
   };                                           \
   struct something* __name = &(__name##_tmp.s);

 Дальше работать с __name только как с указателем.
 Все равно такую структуру можно передавать в функцию
 только как указатель. Проверено, копируется неверно.

 Ю.

Reply to: