ребята, у меня такая проблема:
Обычно в C99 GCC (cygwin / MinGW / linux) есть точка -notation синтаксис для инициализаторов в структуре 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): ошибка C2059: синтаксическая ошибка: '.'
ПРОБЛЕМА:
Как переписать (многие) глобальные структуры таким образом, чтобы MSVC (соответственно C89)
мог их скомпилировать?
С уважением и спасибо за предложения ...