ребята, у меня есть эта проблема:
Обычно в C99 GCC (cygwin / MinGW / linux), есть синтаксис с точечной нотацией для инициализаторов в структуре C.
Например:
//HELP ME HOW TO REWRITE THIS (in most compact way) to MSVC
static struct my_member_t my_global_three[] = {
{.type = NULL, .name = "one"},
{.type = NULL, .name = "two"},
{.type = NULL, .name = "three"},
};
Имея my_memeber_t
, определенную в заголовочном файле как:
struct my_member_t {
struct complex_type * type;
char * name;
int default_number;
void * opaque;
};
Я компилирую код Linux в MSVC 9.0 (Visual Studio 2008), наCygwin / MinGW это работает нормально.
НО cl не может скомпилировать это (из-за жалкой реализации C99): error C2059: syntax error : '.'
PROBLEM:<br>
How to rewrite (many) global structs in a way that MSVC
(resp C89)
can compile it?
С уважением и благодарностью за предложения ...