lisa006.cpp
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C++ 代码 · 共 1,729 行 · 第 1/5 页
CPP
1,729 行
//Bug: used to core dump
//Status: fixed in 10.6 and 11.0
//Result: gives ambiguity error message
// Microsoft also calls it ambiguous
extern "C" {
extern "C" {
typedef long char wchar_t;
typedef wchar_t wint_t;
typedef wchar_t wctype_t;
extern int isalnum(int);
extern int isalpha(int);
extern int iscntrl(int);
extern int isdigit(int);
extern int isgraph(int);
extern int islower(int);
extern int isprint(int);
extern int ispunct(int);
extern int isspace(int);
extern int isupper(int);
extern int isxdigit(int);
extern int isleadbyte(int);
extern int tolower(int);
extern int _tolower(int);
extern int toupper(int);
extern int _toupper(int);
extern int __iscsymf(int);
extern int __iscsym(int);
extern int iswalpha(wint_t);
extern int iswalnum(wint_t);
extern int iswascii(wint_t);
extern int iswcntrl(wint_t);
extern int iswprint(wint_t);
extern int iswgraph(wint_t);
extern int iswdigit(wint_t);
extern int iswxdigit(wint_t);
extern int iswlower(wint_t);
extern int iswupper(wint_t);
extern int iswspace(wint_t);
extern int iswpunct(wint_t);
extern wctype_t wctype(const char *);
extern int iswctype(wint_t,wctype_t);
extern wint_t towlower(wint_t);
extern wint_t towupper(wint_t);
extern int isascii(int);
extern int __isascii(int);
extern const char __near _IsTable[257];
};
extern "C" {
typedef unsigned size_t;
extern void *memchr( const void *__s, int __c, size_t __n );
extern int memcmp( const void *__s1, const void *__s2, size_t __n );
extern void *memcpy( void *__s1, const void *__s2, size_t __n );
extern void *memmove( void *__s1, const void *__s2, size_t __n );
extern void *memset( void *__s, int __c, size_t __n );
extern char *strcat( char *__s1, const char *__s2 );
extern char *strchr( const char *__s, int __c );
extern int strcmp( const char *__s1, const char *__s2 );
extern int strcoll( const char *__s1, const char *__s2 );
extern int _stricoll( const char *__s1, const char *__s2 );
extern int _strncoll( const char *__s1, const char *__s2, size_t __n );
extern int _strnicoll( const char *__s1, const char *__s2, size_t __n );
extern size_t strxfrm( char *__s1, const char *__s2, size_t __n );
extern char *strcpy( char *__s1, const char *__s2 );
extern size_t strcspn( const char *__s1, const char *__s2 );
extern char *strerror( int __errnum );
extern size_t strlen( const char *__s );
extern char *strncat( char *__s1, const char *__s2, size_t __n );
extern int strncmp( const char *__s1, const char *__s2, size_t __n );
extern char *strncpy( char *__s1, const char *__s2, size_t __n );
extern char *strpbrk( const char *__s1, const char *__s2 );
extern char *strrchr( const char *__s, int __c );
extern size_t strspn( const char *__s1, const char *__s2 );
extern char *strspnp( const char *__s1, const char *__s2 );
extern char *strstr( const char *__s1, const char *__s2 );
extern char *strtok( char *__s1, const char *__s2 );
extern void __far *_fmemccpy( void __far *__s1, const void __far *__s2, int __c, size_t __n );
extern void __far *_fmemchr( const void __far *__s, int __c, size_t __n );
extern void __far *_fmemcpy( void __far *__s1, const void __far *__s2, size_t __n );
extern void __far *_fmemmove( void __far *__s1, const void __far *__s2, size_t __n );
extern void __far *_fmemset( void __far *__s, int __c, size_t __n );
extern int _fmemcmp( const void __far *__s1, const void __far *__s2, size_t __n );
extern int _fmemicmp( const void __far *__s1, const void __far *__s2, size_t __n );
extern char __far *_fstrcat( char __far *__s1, const char __far *__s2 );
extern char __far *_fstrchr( const char __far *__s, int __c );
extern int _fstrcmp( const char __far *__s1, const char __far *__s2 );
extern char __far *_fstrcpy( char __far *__s1, const char __far *__s2 );
extern size_t _fstrcspn( const char __far *__s1, const char __far *__s2 );
extern char __far *_fstrdup( const char __far *__string );
extern int _fstricmp( const char __far *__s1, const char __far *__s2 );
extern char __far *_fstrncat( char __far *__s1, const char __far *__s2, size_t __n );
extern size_t _fstrlen( const char __far *__s );
extern char __far *_fstrlwr( char __far *__string );
extern int _fstrncmp( const char __far *__s1, const char __far *__s2, size_t __n );
extern char __far *_fstrncpy( char __far *__s1, const char __far *__s2, size_t __n );
extern int _fstrnicmp( const char __far *__s1, const char __far *__s2, size_t __n );
extern char __far *_fstrnset( char __far *__string, int __c, size_t __len );
extern char __far *_fstrpbrk( const char __far *__s1, const char __far *__s2 );
extern char __far *_fstrrchr( const char __far *__s, int __c );
extern char __far *_fstrrev( char __far *__string );
extern char __far *_fstrset( char __far *__string, int __c );
extern size_t _fstrspn( const char __far *__s1, const char __far *__s2 );
extern char __far *_fstrspnp( const char __far *__s1, const char __far *__s2 );
extern char __far *_fstrstr( const char __far *__s1, const char __far *__s2 );
extern char __far *_fstrtok( char __far *__s1, const char __far *__s2 );
extern char __far *_fstrupr( char __far *__string );
extern void movedata( unsigned __srcseg, unsigned __srcoff, unsigned __tgtseg, unsigned __tgtoff, unsigned __len );
extern void *memccpy( void *__s1, const void *__s2, int __c, size_t __n );
extern int memicmp( const void *__s1, const void *__s2, size_t __n );
extern int _memicmp( const void *__s1, const void *__s2, size_t __n );
extern int strcmpi( const char *__s1, const char *__s2 );
extern char *strdup( const char *__string );
extern char *_strdup( const char *__string );
extern int stricmp( const char *__s1, const char *__s2 );
extern int _stricmp( const char *__s1, const char *__s2 );
extern char *strlwr( char *__string );
extern char *_strlwr( char *__string );
extern int strnicmp( const char *__s1, const char *__s2, size_t __n );
extern int _strnicmp( const char *__s1, const char *__s2, size_t __n );
extern char *strnset( char *__string, int __c, size_t __len );
extern char *strrev( char *__string );
extern char *_strrev( char *__string );
extern char *strset( char *__string, int __c );
extern char *strupr( char *__string );
extern char *_strupr( char *__string );
extern size_t wcslen( const wchar_t * );
extern wchar_t *_wcsnset( wchar_t *, int, size_t );
extern wchar_t *wcsnset( wchar_t *, int, size_t );
extern size_t wcsspn( const wchar_t *, const wchar_t * );
extern wchar_t *_wcsspnp( const wchar_t *__s1, const wchar_t *__s2 );
extern size_t wcscspn( const wchar_t *, const wchar_t * );
extern wchar_t *wcsncat( wchar_t *, const wchar_t *, size_t );
extern int wcsncmp( const wchar_t *, const wchar_t *, size_t );
extern wchar_t *wcsncpy( wchar_t *, const wchar_t *, size_t );
extern int _wcsnicmp( const wchar_t *, const wchar_t *, size_t );
extern int wcsnicmp( const wchar_t *, const wchar_t *, size_t );
extern wchar_t *wcschr( const wchar_t *, wint_t );
extern wchar_t *_wcsdup( const wchar_t * );
extern wchar_t *wcsdup( const wchar_t * );
extern wchar_t *wcscat( wchar_t *, const wchar_t * );
extern wchar_t *_wcslwr( wchar_t * );
extern wchar_t *wcslwr( wchar_t * );
extern wchar_t *_wcsupr( wchar_t * );
extern wchar_t *wcsupr( wchar_t * );
extern wchar_t *wcscpy( wchar_t *, const wchar_t * );
extern int wcscmp( const wchar_t *, const wchar_t * );
extern int _wcsicmp( const wchar_t *, const wchar_t * );
extern int wcsicmp( const wchar_t *, const wchar_t * );
extern int wcscoll( const wchar_t *__s1, const wchar_t *__s2 );
extern int _wcsicoll( const wchar_t *__s1, const wchar_t *__s2 );
extern int _wcsncoll( const wchar_t *__s1, const wchar_t *__s2, size_t __n );
extern int _wcsnicoll( const wchar_t *__s1, const wchar_t *__s2, size_t __n );
extern size_t wcsxfrm( wchar_t *__s1, const wchar_t *__s2, size_t __n );
extern wchar_t *wcsstr( const wchar_t *, const wchar_t * );
extern wchar_t *wcspbrk( const wchar_t *, const wchar_t * );
extern wchar_t *wcstok( wchar_t *, const wchar_t *, wchar_t ** );
extern wchar_t *_wcsrev( wchar_t * );
extern wchar_t *wcsrev( wchar_t * );
extern wchar_t *_wcsset( wchar_t *, wchar_t );
extern wchar_t *wcsset( wchar_t *, wchar_t );
extern wchar_t *wcsrchr( const wchar_t *, wint_t );
extern int wcscmpi( const wchar_t *, const wchar_t * );
extern wchar_t *wcserror( int );
extern void *_wmemccpy( void *__s1, const void *__s2, int __c, size_t __n );
extern void *_wmemchr( const void *, int, size_t );
extern int _wmemcmp( const void *, const void *, size_t );
extern void *_wmemcpy( void *, const void *, size_t );
extern int _wmemicmp( const void *__s1, const void *__s2, size_t __n );
extern void *_wmemmove( void *, const void *, size_t );
extern size_t _ustrlen( const wchar_t * );
extern wchar_t *_ustrnset( wchar_t *, int, size_t );
extern size_t _ustrspn( const wchar_t *, const wchar_t * );
extern size_t _ustrcspn( const wchar_t *, const wchar_t * );
extern wchar_t *_ustrncat( wchar_t *, const wchar_t *, size_t );
extern int _ustrncmp( const wchar_t *, const wchar_t *, size_t );
extern wchar_t *_ustrncpy( wchar_t *, const wchar_t *, size_t );
extern int _ustrnicmp( const wchar_t *, const wchar_t *, size_t );
extern wchar_t *_ustrchr( const wchar_t *, int );
extern wchar_t *_ustrdup( const wchar_t * );
extern wchar_t *_ustrcat( wchar_t *, const wchar_t * );
extern wchar_t *_ustrlwr( wchar_t * );
extern wchar_t *_ustrupr( wchar_t * );
extern wchar_t *_ustrcpy( wchar_t *, const wchar_t * );
extern int _ustrcmp( const wchar_t *, const wchar_t * );
extern int _ustricmp( const wchar_t *, const wchar_t * );
extern int _ustrcoll( const wchar_t *__s1, const wchar_t *__s2 );
extern wchar_t *_ustrstr( const wchar_t *, const wchar_t * );
extern wchar_t *_ustrpbrk( const wchar_t *, const wchar_t * );
extern wchar_t *_ustrtok( wchar_t *, const wchar_t * );
extern wchar_t *_ustrrev( wchar_t * );
extern wchar_t *_ustrset( wchar_t *, wchar_t );
extern wchar_t *_ustrrchr( const wchar_t *, int );
extern int _ustrcmpi( const wchar_t *, const wchar_t * );
extern wchar_t *_ustrerror( int );
};
extern "C" {
typedef int ptrdiff_t;
extern int *__threadid(void);
};
extern "C" {
#pragma pack(__push,1);
typedef struct {
int quot;
int rem;
} div_t;
typedef struct {
long quot;
long rem;
} ldiv_t;
extern void abort( void );
extern int abs( int __j );
extern int atexit( register void ( *__func )( void ) );
extern double atof( const char *__nptr );
extern int atoi( const char *__nptr );
extern long int atol( const char *__nptr );
extern void *bsearch( const void *__key, const void *__base,
size_t __nmemb, size_t __size,
int (*__compar)(const void *__pkey,
const void *__pbase) );
extern void break_on( void );
extern void break_off( void );
extern void *calloc( size_t __n, size_t __size );
extern div_t div( int __numer, int __denom );
extern void exit( int __status );
extern void free( void *__ptr );
extern char *getenv( const char *__name );
extern long int labs( long int __j );
extern ldiv_t ldiv( long int __numer, long int __denom );
extern void *malloc( size_t __size );
extern int mblen( const char *__s, size_t __n );
extern size_t mbstowcs( wchar_t *__pwcs, const char *__s,
size_t __n );
extern int mbtowc( wchar_t *__pwc, const char *__s, size_t __n );
extern size_t wcstombs( char *__s, const wchar_t *__pwcs,
size_t __n );
extern int wctomb( char *__s, wchar_t __wchar );
extern void qsort( void *__base, size_t __nmemb, size_t __size,
int (*__compar)( const void *, const void * ) );
extern int rand( void );
extern void *realloc( void *__ptr, size_t __size );
extern void srand( unsigned int __seed );
extern double strtod( const char *__nptr, char **__endptr );
extern long int strtol( const char *__nptr, char **__endptr,
int __base );
extern unsigned long strtoul( const char *__nptr, char **__endptr,
int __base );
extern int system( const char *__string );
extern void _exit( int __status );
extern char *ecvt( double __val, int __ndig, int *__dec,
int *__sign );
extern char *_ecvt( double __val, int __ndig, int *__dec,
int *__sign );
extern char *fcvt( double __val, int __ndig, int *__dec,
int *__sign );
extern char *_fcvt( double __val, int __ndig, int *__dec,
int *__sign );
extern char *_fullpath( char *__buf, const char *__path,
size_t __size );
extern char *gcvt( double __val, int __ndig, char *__buf );
extern char *_gcvt( double __val, int __ndig, char *__buf );
extern char *itoa( int __value, char *__buf, int __radix );
extern char *_itoa( int __value, char *__buf, int __radix );
extern unsigned long _lrotl( unsigned long __value, unsigned int __shift );
extern unsigned long _lrotr( unsigned long __value, unsigned int __shift );
extern char *ltoa( long int __value, char *__buf, int __radix );
extern char *_ltoa( long int __value, char *__buf, int __radix );
extern void _makepath( char *__path, const char *__drive,
const char *__dir, const char *__fname,
const char *__ext );
extern unsigned int _rotl( unsigned int __value, unsigned int __shift );
extern unsigned int _rotr( unsigned int __value, unsigned int __shift );
extern int _watoi( const wchar_t * );
extern long int _watol( const wchar_t * );
extern wchar_t *_witoa( int, wchar_t *, int );
extern wchar_t *_wltoa( long int, wchar_t *, int );
extern wchar_t *_wutoa( unsigned int, wchar_t *, int );
extern wchar_t *_wultoa( unsigned long int, wchar_t *, int );
extern int _wtoi( const wchar_t * );
extern long int _wtol( const wchar_t * );
extern wchar_t *_itow( int, wchar_t *, int );
extern wchar_t *_ltow( long int, wchar_t *, int );
extern wchar_t *_utow( unsigned int, wchar_t *, int );
extern wchar_t *_ultow( unsigned long int, wchar_t *, int );
extern double _watof( const wchar_t * );
extern long int wcstol( const wchar_t *, wchar_t **, int );
extern double wcstod( const wchar_t *, wchar_t ** );
extern unsigned long int wcstoul( const wchar_t *, wchar_t **, int );
extern wchar_t *_atouni( wchar_t *, const char * );
extern wchar_t *_wfullpath( wchar_t *, const wchar_t *, size_t );
extern void _wmakepath( wchar_t *__path, const wchar_t *__drive,
const wchar_t *__dir,
const wchar_t *__fname,
const wchar_t *__ext );
extern int _wcsicmp( const wchar_t *, const wchar_t * );
extern wchar_t *_wcsdup( const wchar_t * );
extern int _wcsnicmp( const wchar_t *, const wchar_t *, size_t );
extern wchar_t *_wcslwr( wchar_t * );
extern wchar_t *_wcsupr( wchar_t * );
extern wchar_t *_wcsrev( wchar_t * );
extern wchar_t *_wcsset( wchar_t *, wchar_t );
extern wchar_t *_wcsnset( wchar_t *, int, size_t );
extern wchar_t * _wgetenv( const wchar_t *__name );
extern int _wsetenv( const wchar_t *__name,
const wchar_t *__newvalue,
int __overwrite );
extern int _wputenv( const wchar_t *__env_string );
extern void _wsearchenv( const wchar_t *__name,
const wchar_t *__env_var,
wchar_t *__buf );
extern void _wsplitpath2( const wchar_t *__inp,
wchar_t *__outp, wchar_t **__drive,
wchar_t **__dir, wchar_t **__fn,
wchar_t **__ext );
extern void _wsplitpath( const wchar_t *__path,
wchar_t *__drive, wchar_t *__dir,
wchar_t *__fname, wchar_t *__ext );
extern int _wsystem( const wchar_t *__cmd );
extern int putenv( const char *__string );
extern void _searchenv( const char *__name, const char *__env_var,
char *__buf );
extern void _splitpath2( const char *__inp, char *__outp,
char **__drive, char **__dir,
char **__fn, char **__ext );
extern void _splitpath( const char *__path, char *__drive,
char *__dir, char *__fname, char *__ext );
extern void swab( char *__src, char *__dest, int __num );
extern char *ultoa( unsigned long int __value, char *__buf,
int __radix );
extern char *utoa( unsigned int __value, char *__buf, int __radix );
extern int _uatoi( const wchar_t * );
extern long int _uatol( const wchar_t * );
extern wchar_t *_uitoa( int, wchar_t *, int );
extern wchar_t *_ultoa( long int, wchar_t *, int );
extern wchar_t *_uutoa( unsigned int, wchar_t *, int );
extern wchar_t *_uultoa( unsigned long int, wchar_t *, int );
extern long int _ustrtol( const wchar_t *, wchar_t **, int );
extern double _uatof( const wchar_t * );
extern double _ustrtod( const wchar_t *, wchar_t ** );
extern unsigned long int _ustrtoul( const wchar_t *, wchar_t **, int );
extern wchar_t *_uecvt( double, int, int *, int * );
extern wchar_t *_ufcvt( double, int, int *, int * );
extern wchar_t *_ugcvt( double, int, wchar_t * );
extern wchar_t *_atouni( wchar_t *, const char * );
extern wchar_t *_ugetenv( const wchar_t * );
extern wchar_t *_u_fullpath( wchar_t *, const wchar_t *, size_t );
extern int _usystem( const wchar_t * );
extern void _u_makepath( wchar_t *, const wchar_t *,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?