/* winnt.h */
typedef enum IMAGE_AUX_SYMBOL_TYPE {
IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1,
} IMAGE_AUX_SYMBOL_TYPE;
…
typedef enum IMPORT_OBJECT_TYPE
{
IMPORT_OBJECT_CODE = 0,
IMPORT_OBJECT_DATA = 1,
IMPORT_OBJECT_CONST = 2,
} IMPORT_OBJECT_TYPE;
…
typedef enum IMPORT_OBJECT_NAME_TYPE
{
IMPORT_OBJECT_ORDINAL = 0,
IMPORT_OBJECT_NAME = 1,
IMPORT_OBJECT_NAME_NO_PREFIX = 2,
IMPORT_OBJECT_NAME_UNDECORATE = 3,
} IMPORT_OBJECT_NAME_TYPE;
…
typedef enum ReplacesCorHdrNumericDefines
{
...
...
MAX_PACKAGE_NAME =1024,
} ReplacesCorHdrNumericDefines;
Ошибки в хэйдерах VS 7.0
Код:
Код:
/* winnls.h */
enum SYSGEOTYPE {
...
...
GEO_TIMEZONES = 0x000A,
GEO_OFFICIALLANGUAGES = 0x000B,
};
…
enum SYSGEOCLASS {
GEOCLASS_NATION = 16,
GEOCLASS_REGION = 14,
};
enum SYSGEOTYPE {
...
...
GEO_TIMEZONES = 0x000A,
GEO_OFFICIALLANGUAGES = 0x000B,
};
…
enum SYSGEOCLASS {
GEOCLASS_NATION = 16,
GEOCLASS_REGION = 14,
};
Это неполные списки или лишние запятые?
А кто сказал, что это вообще ошибка? Запятая после последнего члена перечисления допускается и не вызывает ошибок компиляции.
Если стоит запятая, значит можно предположить, что список неполный. Логично? Пока просто нужно сравнить эти файлы в других MSVS.
Сравнивать файлы нужно не в разных версия MSVS, а в разных версиях MSDK. Только что проверил - начиная с пятой версии (более ранних у меня нет под руками), именно так и есть.
Посмотрел некоторые места в cygwin’e. Там запятых нет (но там много, чего нет). Похоже, что в MS когда-то сами укоротили списки.
Цитата: id_ea_list
Не помешает посмотреть в любой установленной VS. Например, во взломанной студии некоторые строки могут быть удалены намеренно.
Посмотрел некоторые места в cygwin’e. Там запятых нет (но там много, чего нет). Похоже, что в MS когда-то сами укоротили списки.
Посмотрел некоторые места в cygwin’e. Там запятых нет (но там много, чего нет). Похоже, что в MS когда-то сами укоротили списки.
Предположение высосано из пальца.
PS: А cygwin не показатель да еще какой непоказатель.
Код:
/*ctype.h*/
#define __chvalidchk(a,b) _chvalidator(a,b)
...
inline int isalnum(int _C)
{return (MB_CUR_MAX > 1 ? _isctype(_C,_ALPHA|_DIGIT)
: __chvalidchk(_C) , (_ALPHA|_DIGIT)); }
#define __chvalidchk(a,b) _chvalidator(a,b)
...
inline int isalnum(int _C)
{return (MB_CUR_MAX > 1 ? _isctype(_C,_ALPHA|_DIGIT)
: __chvalidchk(_C) , (_ALPHA|_DIGIT)); }
Чем же оно сомнительное?
Цитата: id_ea_list
Еще одно сомнительное место
Код:
/*ctype.h*/
#define __chvalidchk(a,b) _chvalidator(a,b)
...
inline int isalnum(int _C)
{return (MB_CUR_MAX > 1 ? _isctype(_C,_ALPHA|_DIGIT)
: __chvalidchk(_C) , (_ALPHA|_DIGIT)); }
#define __chvalidchk(a,b) _chvalidator(a,b)
...
inline int isalnum(int _C)
{return (MB_CUR_MAX > 1 ? _isctype(_C,_ALPHA|_DIGIT)
: __chvalidchk(_C) , (_ALPHA|_DIGIT)); }
И чем подозрительна сия классическая реализация?
Вы ищите что-то конкретное или просто обнаружили кучу .h файликафф в каталоге с визуал студией?