On Mon, Oct 08, 2012 at 12:41:05PM +0400, Dmitry E. Oboukhov wrote:
> хочется макрос
>
> #define SOMETHING(name, size) ...
>
> чтобы пользователь мог сказать
>
> void foo(void) {
> static SOMETHING(name, 5);
> SOMETHING(name2, 10);
> }
>
> и получить саллоцированный на стадии компиляции (или в стеке) такой объект?
Взять C++.
На C можно покостылять вроде создания вместо структуры массива какого-то и
дальше кастовать. Чтоб вышло что-то типа такого:
static char struct_data_container[sizeof(your_struct)+...];
your_struct *struct_ptr = (your_struct*)struct_data_container;
Или еще какой подобный ужас :)
--
WBR, Dmitry
Attachment:
signature.asc
Description: Digital signature