📄 struct-layout-1_generate.c
字号:
/* Structure layout test generator. Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. Contributed by Jakub Jelinek <jakub@redhat.com>.This file is part of GCC.GCC is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the FreeSoftware Foundation; either version 3, or (at your option) any laterversion.GCC is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licensefor more details.You should have received a copy of the GNU General Public Licensealong with GCC; see the file COPYING3. If not see<http://www.gnu.org/licenses/>. *//* Compile with gcc -o struct-layout-1_generate{,.c} generate_random{,_r}.c *//* N.B. -- This program cannot use libiberty as that will not work when testing an installed compiler. */#include <limits.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stddef.h>/* We use our own pseudo-random number generator, so that it gives the same values on all hosts. */#include "generate-random.h"#if LLONG_MAX != 9223372036854775807LL && __LONG_LONG_MAX__ != 9223372036854775807LL# error Need 64-bit long long#endif#if defined __MSVCRT__ #define COMPAT_PRLL "I64"#else #define COMPAT_PRLL "ll"#endiftypedef unsigned int hashval_t;enum TYPE{ TYPE_INT, TYPE_UINT, TYPE_CINT, TYPE_CUINT, TYPE_FLOAT, TYPE_CFLOAT, TYPE_DEC_FLOAT, TYPE_SENUM, TYPE_UENUM, TYPE_PTR, TYPE_FNPTR, TYPE_OTHER};struct types{ const char *name; enum TYPE type; unsigned long long int maxval; char bitfld;};struct types base_types[] = {/* As we don't know whether char will be signed or not, just limit ourselves to unsigned values less than maximum signed char value. */{ "char", TYPE_UINT, 127, 'C' },{ "signed char", TYPE_INT, 127, 'C' },{ "unsigned char", TYPE_UINT, 255, 'C' },{ "short int", TYPE_INT, 32767, 'S' },{ "unsigned short int", TYPE_UINT, 65535, 'S' },{ "int", TYPE_INT, 2147483647, 'I' },{ "unsigned int", TYPE_UINT, 4294967295U, 'I' },{ "long int", TYPE_INT, 9223372036854775807LL, 'L' },{ "unsigned long int", TYPE_UINT, 18446744073709551615ULL, 'L' },{ "long long int", TYPE_INT, 9223372036854775807LL, 'Q' },{ "unsigned long long int", TYPE_UINT, 18446744073709551615ULL, 'Q' },{ "bool", TYPE_UINT, 1, 'B' },{ "void *", TYPE_PTR, 0, 0 },{ "char *", TYPE_PTR, 0, 0 },{ "int *", TYPE_PTR, 0, 0 },{ "float", TYPE_FLOAT, 0, 0 },{ "double", TYPE_FLOAT, 0, 0 },{ "long double", TYPE_FLOAT, 0, 0 },#ifndef SKIP_DECIMAL_FLOAT{ "_Decimal32", TYPE_DEC_FLOAT, 0, 0 },{ "_Decimal64", TYPE_DEC_FLOAT, 0, 0 },{ "_Decimal128", TYPE_DEC_FLOAT, 0, 0 },#define NTYPES1 21#else#define NTYPES1 18#endif{ "Tchar", TYPE_UINT, 127, 'C' },{ "Tschar", TYPE_INT, 127, 'C' },{ "Tuchar", TYPE_UINT, 255, 'C' },{ "Tshort", TYPE_INT, 32767, 'S' },{ "Tushort", TYPE_UINT, 65535, 'S' },{ "Tint", TYPE_INT, 2147483647, 'I' },{ "Tuint", TYPE_UINT, 4294967295U, 'I' },{ "Tlong", TYPE_INT, 9223372036854775807LL, 'L' },{ "Tulong", TYPE_UINT, 18446744073709551615ULL, 'L' },{ "Tllong", TYPE_INT, 9223372036854775807LL, 'Q' },{ "Tullong", TYPE_UINT, 18446744073709551615ULL, 'Q' },{ "Tbool", TYPE_UINT, 1, 'B' },{ "size_t", TYPE_UINT, 18446744073709551615ULL, 0 },{ "Tptr", TYPE_PTR, 0, 0 },{ "Tcptr", TYPE_PTR, 0, 0 },{ "Tiptr", TYPE_PTR, 0, 0 },{ "Tfnptr", TYPE_FNPTR, 0, 0 },{ "Tfloat", TYPE_FLOAT, 0, 0 },{ "Tdouble", TYPE_FLOAT, 0, 0 },{ "Tldouble", TYPE_FLOAT, 0, 0 },#ifndef SKIP_DECIMAL_FLOAT{ "TDecimal32", TYPE_DEC_FLOAT, 0, 0 },{ "TDecimal64", TYPE_DEC_FLOAT, 0, 0 },{ "TDecimal128", TYPE_DEC_FLOAT, 0, 0 },#endif{ "enum E0", TYPE_UENUM, 0, ' ' },{ "enum E1", TYPE_UENUM, 1, ' ' },{ "enum E2", TYPE_SENUM, 3, ' ' },{ "enum E3", TYPE_SENUM, 127, ' ' },{ "enum E4", TYPE_UENUM, 255, ' ' },{ "enum E5", TYPE_SENUM, 32767, ' ' },{ "enum E6", TYPE_UENUM, 65535, ' ' },{ "enum E7", TYPE_SENUM, 2147483647, ' ' },{ "enum E8", TYPE_UENUM, 4294967295U, ' ' },{ "enum E9", TYPE_SENUM, 1099511627775LL, ' ' },{ "TE0", TYPE_UENUM, 0, ' ' },{ "TE1", TYPE_UENUM, 1, ' ' },{ "TE2", TYPE_SENUM, 3, ' ' },{ "TE3", TYPE_SENUM, 127, ' ' },{ "TE4", TYPE_UENUM, 255, ' ' },{ "TE5", TYPE_SENUM, 32767, ' ' },{ "TE6", TYPE_UENUM, 65535, ' ' },{ "TE7", TYPE_SENUM, 2147483647, ' ' },{ "TE8", TYPE_UENUM, 4294967295U, ' ' },{ "TE9", TYPE_SENUM, 1099511627775LL, ' ' },/* vector-defs.h typedefs */{ "qi", TYPE_INT, 127, 0 },{ "hi", TYPE_INT, 32767, 0 },{ "si", TYPE_INT, 2147483647, 0 },{ "di", TYPE_INT, 9223372036854775807LL, 0 },{ "sf", TYPE_FLOAT, 0, 0 },{ "df", TYPE_FLOAT, 0, 0 }#define NTYPES2 (sizeof (base_types) / sizeof (base_types[0]))};struct types complex_types[] = {{ "_Complex char", TYPE_CUINT, 127, 0 },{ "_Complex signed char", TYPE_CINT, 127, 0 },{ "_Complex unsigned char", TYPE_CUINT, 255, 0 },{ "_Complex short int", TYPE_CINT, 32767, 0 },{ "_Complex unsigned short int", TYPE_CUINT, 65535, 0 },{ "_Complex int", TYPE_CINT, 2147483647, 0 },{ "_Complex unsigned int", TYPE_CUINT, 4294967295U, 0 },{ "_Complex long int", TYPE_CINT, 9223372036854775807LL, 0 },{ "_Complex unsigned long int", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "_Complex long long int", TYPE_CINT, 9223372036854775807LL, 0 },{ "_Complex unsigned long long int", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "_Complex float", TYPE_CFLOAT, 0, 0 },{ "_Complex double", TYPE_CFLOAT, 0, 0 },{ "_Complex long double", TYPE_CFLOAT, 0, 0 },{ "Tcchar", TYPE_CUINT, 127, 0 },{ "Tcschar", TYPE_CINT, 127, 0 },{ "Tcuchar", TYPE_CUINT, 255, 0 },{ "Tcshort", TYPE_CINT, 32767, 0 },{ "Tcushort", TYPE_CUINT, 65535, 0 },{ "Tcint", TYPE_CINT, 2147483647, 0 },{ "Tcuint", TYPE_CUINT, 4294967295U, 0 },{ "Tclong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tculong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tcllong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tcullong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tcfloat", TYPE_CFLOAT, 0, 0 },{ "Tcdouble", TYPE_CFLOAT, 0, 0 },{ "Tcldouble", TYPE_CFLOAT, 0, 0 }#define NCTYPES2 (sizeof (complex_types) / sizeof (complex_types[0]))};struct types vector_types[] = {/* vector-defs.h typedefs */{ "v8qi", TYPE_OTHER, 0, 0 },{ "v16qi", TYPE_OTHER, 0, 0 },{ "v2hi", TYPE_OTHER, 0, 0 },{ "v4hi", TYPE_OTHER, 0, 0 },{ "v8hi", TYPE_OTHER, 0, 0 },{ "v2si", TYPE_OTHER, 0, 0 },{ "v4si", TYPE_OTHER, 0, 0 },{ "v1di", TYPE_OTHER, 0, 0 },{ "v2di", TYPE_OTHER, 0, 0 },{ "v2sf", TYPE_OTHER, 0, 0 },{ "v4sf", TYPE_OTHER, 0, 0 },{ "v16sf", TYPE_OTHER, 0, 0 },{ "v2df", TYPE_OTHER, 0, 0 },{ "u8qi", TYPE_OTHER, 0, 0 },{ "u16qi", TYPE_OTHER, 0, 0 },{ "u2hi", TYPE_OTHER, 0, 0 },{ "u4hi", TYPE_OTHER, 0, 0 },{ "u8hi", TYPE_OTHER, 0, 0 },{ "u2si", TYPE_OTHER, 0, 0 },{ "u4si", TYPE_OTHER, 0, 0 },{ "u1di", TYPE_OTHER, 0, 0 },{ "u2di", TYPE_OTHER, 0, 0 },{ "u2sf", TYPE_OTHER, 0, 0 },{ "u4sf", TYPE_OTHER, 0, 0 },{ "u16sf", TYPE_OTHER, 0, 0 },{ "u2df", TYPE_OTHER, 0, 0 },{ "__m64", TYPE_OTHER, 0, 0 },{ "__m128", TYPE_OTHER, 0, 0 }#define NVTYPES2 (sizeof (vector_types) / sizeof (vector_types[0]))};struct types attrib_types[] = {{ "Talchar", TYPE_UINT, 127, 'C' },{ "Talschar", TYPE_INT, 127, 'C' },{ "Taluchar", TYPE_UINT, 255, 'C' },{ "Talshort", TYPE_INT, 32767, 'S' },{ "Talushort", TYPE_UINT, 65535, 'S' },{ "Talint", TYPE_INT, 2147483647, 'I' },{ "Taluint", TYPE_UINT, 4294967295U, 'I' },{ "Tallong", TYPE_INT, 9223372036854775807LL, 'L' },{ "Talulong", TYPE_UINT, 18446744073709551615ULL, 'L' },{ "Talllong", TYPE_INT, 9223372036854775807LL, 'Q' },{ "Talullong", TYPE_UINT, 18446744073709551615ULL, 'Q' },{ "Talbool", TYPE_UINT, 1, 'B' },{ "Talptr", TYPE_PTR, 0, 0 },{ "Talcptr", TYPE_PTR, 0, 0 },{ "Taliptr", TYPE_PTR, 0, 0 },{ "Talfloat", TYPE_FLOAT, 0, 0 },{ "Taldouble", TYPE_FLOAT, 0, 0 },{ "Talldouble", TYPE_FLOAT, 0, 0 },#ifndef SKIP_DECIMAL_FLOAT{ "TalDecimal32", TYPE_DEC_FLOAT, 0, 0 },{ "TalDecimal64", TYPE_DEC_FLOAT, 0, 0 },{ "TalDecimal128", TYPE_DEC_FLOAT, 0, 0 },#endif{ "TalE0", TYPE_UENUM, 0, ' ' },{ "TalE1", TYPE_UENUM, 1, ' ' },{ "TalE2", TYPE_SENUM, 3, ' ' },{ "TalE3", TYPE_SENUM, 127, ' ' },{ "TalE4", TYPE_UENUM, 255, ' ' },{ "TalE5", TYPE_SENUM, 32767, ' ' },{ "TalE6", TYPE_UENUM, 65535, ' ' },{ "TalE7", TYPE_SENUM, 2147483647, ' ' },{ "TalE8", TYPE_UENUM, 4294967295U, ' ' },{ "TalE9", TYPE_SENUM, 1099511627775LL, ' ' },{ "Tal1char", TYPE_UINT, 127, 'C' },{ "Tal1schar", TYPE_INT, 127, 'C' },{ "Tal1uchar", TYPE_UINT, 255, 'C' },{ "Tal1short", TYPE_INT, 32767, 'S' },{ "Tal1ushort", TYPE_UINT, 65535, 'S' },{ "Tal1int", TYPE_INT, 2147483647, 'I' },{ "Tal1uint", TYPE_UINT, 4294967295U, 'I' },{ "Tal1long", TYPE_INT, 9223372036854775807LL, 'L' },{ "Tal1ulong", TYPE_UINT, 18446744073709551615ULL, 'L' },{ "Tal1llong", TYPE_INT, 9223372036854775807LL, 'Q' },{ "Tal1ullong", TYPE_UINT, 18446744073709551615ULL, 'Q' },{ "Tal1bool", TYPE_UINT, 1, 'B' },{ "Tal1ptr", TYPE_PTR, 0, 0 },{ "Tal1cptr", TYPE_PTR, 0, 0 },{ "Tal1iptr", TYPE_PTR, 0, 0 },{ "Tal1float", TYPE_FLOAT, 0, 0 },{ "Tal1double", TYPE_FLOAT, 0, 0 },{ "Tal1ldouble", TYPE_FLOAT, 0, 0 },#ifndef SKIP_DECIMAL_FLOAT{ "Tal1Decimal32", TYPE_DEC_FLOAT, 0, 0},{ "Tal1Decimal64", TYPE_DEC_FLOAT, 0, 0},{ "Tal1Decimal128", TYPE_DEC_FLOAT, 0, 0},#endif{ "Tal1E0", TYPE_UENUM, 0, ' ' },{ "Tal1E1", TYPE_UENUM, 1, ' ' },{ "Tal1E2", TYPE_SENUM, 3, ' ' },{ "Tal1E3", TYPE_SENUM, 127, ' ' },{ "Tal1E4", TYPE_UENUM, 255, ' ' },{ "Tal1E5", TYPE_SENUM, 32767, ' ' },{ "Tal1E6", TYPE_UENUM, 65535, ' ' },{ "Tal1E7", TYPE_SENUM, 2147483647, ' ' },{ "Tal1E8", TYPE_UENUM, 4294967295U, ' ' },{ "Tal1E9", TYPE_SENUM, 1099511627775LL, ' ' },{ "Tal2char", TYPE_UINT, 127, 'C' },{ "Tal2schar", TYPE_INT, 127, 'C' },{ "Tal2uchar", TYPE_UINT, 255, 'C' },{ "Tal2short", TYPE_INT, 32767, 'S' },{ "Tal2ushort", TYPE_UINT, 65535, 'S' },{ "Tal2int", TYPE_INT, 2147483647, 'I' },{ "Tal2uint", TYPE_UINT, 4294967295U, 'I' },{ "Tal2long", TYPE_INT, 9223372036854775807LL, 'L' },{ "Tal2ulong", TYPE_UINT, 18446744073709551615ULL, 'L' },{ "Tal2llong", TYPE_INT, 9223372036854775807LL, 'Q' },{ "Tal2ullong", TYPE_UINT, 18446744073709551615ULL, 'Q' },{ "Tal2bool", TYPE_UINT, 1, 'B' },{ "Tal2ptr", TYPE_PTR, 0, 0 },{ "Tal2cptr", TYPE_PTR, 0, 0 },{ "Tal2iptr", TYPE_PTR, 0, 0 },{ "Tal2float", TYPE_FLOAT, 0, 0 },{ "Tal2double", TYPE_FLOAT, 0, 0 },{ "Tal2ldouble", TYPE_FLOAT, 0, 0 },#ifndef SKIP_DECIMAL_FLOAT{ "Tal2Decimal32", TYPE_DEC_FLOAT, 0, 0 },{ "Tal2Decimal64", TYPE_DEC_FLOAT, 0, 0 },{ "Tal2Decimal128", TYPE_DEC_FLOAT, 0, 0 },#endif{ "Tal2E0", TYPE_UENUM, 0, ' ' },{ "Tal2E1", TYPE_UENUM, 1, ' ' },{ "Tal2E2", TYPE_SENUM, 3, ' ' },{ "Tal2E3", TYPE_SENUM, 127, ' ' },{ "Tal2E4", TYPE_UENUM, 255, ' ' },{ "Tal2E5", TYPE_SENUM, 32767, ' ' },{ "Tal2E6", TYPE_UENUM, 65535, ' ' },{ "Tal2E7", TYPE_SENUM, 2147483647, ' ' },{ "Tal2E8", TYPE_UENUM, 4294967295U, ' ' },{ "Tal2E9", TYPE_SENUM, 1099511627775LL, ' ' },{ "Tal4char", TYPE_UINT, 127, 'C' },{ "Tal4schar", TYPE_INT, 127, 'C' },{ "Tal4uchar", TYPE_UINT, 255, 'C' },{ "Tal4short", TYPE_INT, 32767, 'S' },{ "Tal4ushort", TYPE_UINT, 65535, 'S' },{ "Tal4int", TYPE_INT, 2147483647, 'I' },{ "Tal4uint", TYPE_UINT, 4294967295U, 'I' },{ "Tal4long", TYPE_INT, 9223372036854775807LL, 'L' },{ "Tal4ulong", TYPE_UINT, 18446744073709551615ULL, 'L' },{ "Tal4llong", TYPE_INT, 9223372036854775807LL, 'Q' },{ "Tal4ullong", TYPE_UINT, 18446744073709551615ULL, 'Q' },{ "Tal4bool", TYPE_UINT, 1, 'B' },{ "Tal4ptr", TYPE_PTR, 0, 0 },{ "Tal4cptr", TYPE_PTR, 0, 0 },{ "Tal4iptr", TYPE_PTR, 0, 0 },{ "Tal4float", TYPE_FLOAT, 0, 0 },{ "Tal4double", TYPE_FLOAT, 0, 0 },{ "Tal4ldouble", TYPE_FLOAT, 0, 0 },#ifndef SKIP_DECIMAL_FLOAT{ "Tal4Decimal32", TYPE_DEC_FLOAT, 0, 0 },{ "Tal4Decimal64", TYPE_DEC_FLOAT, 0, 0 },{ "Tal4Decimal128", TYPE_DEC_FLOAT, 0, 0 },#endif{ "Tal4E0", TYPE_UENUM, 0, ' ' },{ "Tal4E1", TYPE_UENUM, 1, ' ' },{ "Tal4E2", TYPE_SENUM, 3, ' ' },{ "Tal4E3", TYPE_SENUM, 127, ' ' },{ "Tal4E4", TYPE_UENUM, 255, ' ' },{ "Tal4E5", TYPE_SENUM, 32767, ' ' },{ "Tal4E6", TYPE_UENUM, 65535, ' ' },{ "Tal4E7", TYPE_SENUM, 2147483647, ' ' },{ "Tal4E8", TYPE_UENUM, 4294967295U, ' ' },{ "Tal4E9", TYPE_SENUM, 1099511627775LL, ' ' },{ "Tal8char", TYPE_UINT, 127, 'C' },{ "Tal8schar", TYPE_INT, 127, 'C' },{ "Tal8uchar", TYPE_UINT, 255, 'C' },{ "Tal8short", TYPE_INT, 32767, 'S' },{ "Tal8ushort", TYPE_UINT, 65535, 'S' },{ "Tal8int", TYPE_INT, 2147483647, 'I' },{ "Tal8uint", TYPE_UINT, 4294967295U, 'I' },{ "Tal8long", TYPE_INT, 9223372036854775807LL, 'L' },{ "Tal8ulong", TYPE_UINT, 18446744073709551615ULL, 'L' },{ "Tal8llong", TYPE_INT, 9223372036854775807LL, 'Q' },{ "Tal8ullong", TYPE_UINT, 18446744073709551615ULL, 'Q' },{ "Tal8bool", TYPE_UINT, 1, 'B' },{ "Tal8ptr", TYPE_PTR, 0, 0 },{ "Tal8cptr", TYPE_PTR, 0, 0 },{ "Tal8iptr", TYPE_PTR, 0, 0 },{ "Tal8float", TYPE_FLOAT, 0, 0 },{ "Tal8double", TYPE_FLOAT, 0, 0 },{ "Tal8ldouble", TYPE_FLOAT, 0, 0 },#ifndef SKIP_DECIMAL_FLOAT{ "Tal8Decimal32", TYPE_DEC_FLOAT, 0, 0 },{ "Tal8Decimal64", TYPE_DEC_FLOAT, 0, 0 },{ "Tal8Decimal128", TYPE_DEC_FLOAT, 0, 0 },#endif{ "Tal8E0", TYPE_UENUM, 0, ' ' },{ "Tal8E1", TYPE_UENUM, 1, ' ' },{ "Tal8E2", TYPE_SENUM, 3, ' ' },{ "Tal8E3", TYPE_SENUM, 127, ' ' },{ "Tal8E4", TYPE_UENUM, 255, ' ' },{ "Tal8E5", TYPE_SENUM, 32767, ' ' },{ "Tal8E6", TYPE_UENUM, 65535, ' ' },{ "Tal8E7", TYPE_SENUM, 2147483647, ' ' },{ "Tal8E8", TYPE_UENUM, 4294967295U, ' ' },{ "Tal8E9", TYPE_SENUM, 1099511627775LL, ' ' },{ "Tal16char", TYPE_UINT, 127, 'C' },{ "Tal16schar", TYPE_INT, 127, 'C' },{ "Tal16uchar", TYPE_UINT, 255, 'C' },{ "Tal16short", TYPE_INT, 32767, 'S' },{ "Tal16ushort", TYPE_UINT, 65535, 'S' },{ "Tal16int", TYPE_INT, 2147483647, 'I' },{ "Tal16uint", TYPE_UINT, 4294967295U, 'I' },{ "Tal16long", TYPE_INT, 9223372036854775807LL, 'L' },{ "Tal16ulong", TYPE_UINT, 18446744073709551615ULL, 'L' },{ "Tal16llong", TYPE_INT, 9223372036854775807LL, 'Q' },{ "Tal16ullong", TYPE_UINT, 18446744073709551615ULL, 'Q' },{ "Tal16bool", TYPE_UINT, 1, 'B' },{ "Tal16ptr", TYPE_PTR, 0, 0 },{ "Tal16cptr", TYPE_PTR, 0, 0 },{ "Tal16iptr", TYPE_PTR, 0, 0 },{ "Tal16float", TYPE_FLOAT, 0, 0 },{ "Tal16double", TYPE_FLOAT, 0, 0 },{ "Tal16ldouble", TYPE_FLOAT, 0, 0 },#ifndef SKIP_DECIMAL_FLOAT{ "Tal16Decimal32", TYPE_DEC_FLOAT, 0, 0 },{ "Tal16Decimal64", TYPE_DEC_FLOAT, 0, 0 },{ "Tal16Decimal128", TYPE_DEC_FLOAT, 0, 0 },#endif{ "Tal16E0", TYPE_UENUM, 0, ' ' },{ "Tal16E1", TYPE_UENUM, 1, ' ' },{ "Tal16E2", TYPE_SENUM, 3, ' ' },{ "Tal16E3", TYPE_SENUM, 127, ' ' },{ "Tal16E4", TYPE_UENUM, 255, ' ' },{ "Tal16E5", TYPE_SENUM, 32767, ' ' },{ "Tal16E6", TYPE_UENUM, 65535, ' ' },{ "Tal16E7", TYPE_SENUM, 2147483647, ' ' },{ "Tal16E8", TYPE_UENUM, 4294967295U, ' ' },{ "Tal16E9", TYPE_SENUM, 1099511627775LL, ' ' }#define NATYPES2 (sizeof (attrib_types) / sizeof (attrib_types[0]))};struct types complex_attrib_types[] = {{ "Talcchar", TYPE_CUINT, 127, 0 },{ "Talcschar", TYPE_CINT, 127, 0 },{ "Talcuchar", TYPE_CUINT, 255, 0 },{ "Talcshort", TYPE_CINT, 32767, 0 },{ "Talcushort", TYPE_CUINT, 65535, 0 },{ "Talcint", TYPE_CINT, 2147483647, 0 },{ "Talcuint", TYPE_CUINT, 4294967295U, 0 },{ "Talclong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Talculong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Talcllong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Talcullong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Talcfloat", TYPE_CFLOAT, 0, 0 },{ "Talcdouble", TYPE_CFLOAT, 0, 0 },{ "Talcldouble", TYPE_CFLOAT, 0, 0 },{ "Tal1cchar", TYPE_CUINT, 127, 0 },{ "Tal1cschar", TYPE_CINT, 127, 0 },{ "Tal1cuchar", TYPE_CUINT, 255, 0 },{ "Tal1cshort", TYPE_CINT, 32767, 0 },{ "Tal1cushort", TYPE_CUINT, 65535, 0 },{ "Tal1cint", TYPE_CINT, 2147483647, 0 },{ "Tal1cuint", TYPE_CUINT, 4294967295U, 0 },{ "Tal1clong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal1culong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal1cllong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal1cullong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal1cfloat", TYPE_CFLOAT, 0, 0 },{ "Tal1cdouble", TYPE_CFLOAT, 0, 0 },{ "Tal1cldouble", TYPE_CFLOAT, 0, 0 },{ "Tal2cchar", TYPE_CUINT, 127, 0 },{ "Tal2cschar", TYPE_CINT, 127, 0 },{ "Tal2cuchar", TYPE_CUINT, 255, 0 },{ "Tal2cshort", TYPE_CINT, 32767, 0 },{ "Tal2cushort", TYPE_CUINT, 65535, 0 },{ "Tal2cint", TYPE_CINT, 2147483647, 0 },{ "Tal2cuint", TYPE_CUINT, 4294967295U, 0 },{ "Tal2clong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal2culong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal2cllong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal2cullong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal2cfloat", TYPE_CFLOAT, 0, 0 },{ "Tal2cdouble", TYPE_CFLOAT, 0, 0 },{ "Tal2cldouble", TYPE_CFLOAT, 0, 0 },{ "Tal4cchar", TYPE_CUINT, 127, 0 },{ "Tal4cschar", TYPE_CINT, 127, 0 },{ "Tal4cuchar", TYPE_CUINT, 255, 0 },{ "Tal4cshort", TYPE_CINT, 32767, 0 },{ "Tal4cushort", TYPE_CUINT, 65535, 0 },{ "Tal4cint", TYPE_CINT, 2147483647, 0 },{ "Tal4cuint", TYPE_CUINT, 4294967295U, 0 },{ "Tal4clong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal4culong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal4cllong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal4cullong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal4cfloat", TYPE_CFLOAT, 0, 0 },{ "Tal4cdouble", TYPE_CFLOAT, 0, 0 },{ "Tal4cldouble", TYPE_CFLOAT, 0, 0 },{ "Tal8cchar", TYPE_CUINT, 127, 0 },{ "Tal8cschar", TYPE_CINT, 127, 0 },{ "Tal8cuchar", TYPE_CUINT, 255, 0 },{ "Tal8cshort", TYPE_CINT, 32767, 0 },{ "Tal8cushort", TYPE_CUINT, 65535, 0 },{ "Tal8cint", TYPE_CINT, 2147483647, 0 },{ "Tal8cuint", TYPE_CUINT, 4294967295U, 0 },{ "Tal8clong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal8culong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal8cllong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal8cullong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal8cfloat", TYPE_CFLOAT, 0, 0 },{ "Tal8cdouble", TYPE_CFLOAT, 0, 0 },{ "Tal8cldouble", TYPE_CFLOAT, 0, 0 },{ "Tal16cchar", TYPE_CUINT, 127, 0 },{ "Tal16cschar", TYPE_CINT, 127, 0 },{ "Tal16cuchar", TYPE_CUINT, 255, 0 },{ "Tal16cshort", TYPE_CINT, 32767, 0 },{ "Tal16cushort", TYPE_CUINT, 65535, 0 },{ "Tal16cint", TYPE_CINT, 2147483647, 0 },{ "Tal16cuint", TYPE_CUINT, 4294967295U, 0 },{ "Tal16clong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal16culong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal16cllong", TYPE_CINT, 9223372036854775807LL, 0 },{ "Tal16cullong", TYPE_CUINT, 18446744073709551615ULL, 0 },{ "Tal16cfloat", TYPE_CFLOAT, 0, 0 },{ "Tal16cdouble", TYPE_CFLOAT, 0, 0 },{ "Tal16cldouble", TYPE_CFLOAT, 0, 0 }#define NCATYPES2 (sizeof (complex_attrib_types) / sizeof (complex_attrib_types[0]))};struct types attrib_array_types[] = {{ "Talx1char", TYPE_UINT, 127, 'C' },{ "Talx1schar", TYPE_INT, 127, 'C' },{ "Talx1uchar", TYPE_UINT, 255, 'C' },{ "Talx1short", TYPE_INT, 32767, 'S' },{ "Talx1ushort", TYPE_UINT, 65535, 'S' },{ "Talx1int", TYPE_INT, 2147483647, 'I' },{ "Talx1uint", TYPE_UINT, 4294967295U, 'I' },
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -