имеется некая структурка
struct something {
...
unsigned count;
unsigned element[0];
};
то есть в поле count сказано сколько элементов будет после структурки.
ну и обращение к ним идет так:
for (i = 0; i < s->count; i++) {
s->elements[i] = i;
}
теперь когда мы это хотим саллоцировать, то пишем такой аллокатор
struct something * some_alloc(unsigned size) {
return malloc(sizeof(struct something) + sizeof(unsigned) * size);
}
а вот если появилась необходимость саллоцировать такой объект
статически, как быть?
хочется макрос
#define SOMETHING(name, size) ...
чтобы пользователь мог сказать
void foo(void) {
static SOMETHING(name, 5);
SOMETHING(name2, 10);
}
и получить саллоцированный на стадии компиляции (или в стеке) такой объект?
--
. ''`. Dmitry E. Oboukhov
: :’ : email: unera@debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Attachment:
signature.asc
Description: Digital signature