struct-return-3_x.c
来自「xml大全 可读写调用率很高 xml大全 可读写调用率很高」· C语言 代码 · 共 136 行
C
136 行
#include "compat-common.h"/* Turn off checking for variable arguments with -DSKIPVA. */#ifdef SKIPVAconst int test_va = 0;#elseconst int test_va = 1;#endif#define T(TYPE) \TYPE g01##TYPE, g02##TYPE, g03##TYPE, g04##TYPE; \TYPE g05##TYPE, g06##TYPE, g07##TYPE, g08##TYPE; \TYPE g09##TYPE, g10##TYPE, g11##TYPE, g12##TYPE; \TYPE g13##TYPE, g14##TYPE, g15##TYPE, g16##TYPE; \ \extern void init##TYPE (TYPE *p, int i); \extern void checkg##TYPE (void); \extern TYPE test0##TYPE (void); \extern TYPE test1##TYPE (TYPE); \extern TYPE testva##TYPE (int n, ...); \ \void \testit##TYPE (void) \{ \ TYPE rslt; \ DEBUG_FPUTS (#TYPE); \ DEBUG_FPUTS (" init: "); \ init##TYPE (&g01##TYPE, 1); \ init##TYPE (&g02##TYPE, 2); \ init##TYPE (&g03##TYPE, 3); \ init##TYPE (&g04##TYPE, 4); \ init##TYPE (&g05##TYPE, 5); \ init##TYPE (&g06##TYPE, 6); \ init##TYPE (&g07##TYPE, 7); \ init##TYPE (&g08##TYPE, 8); \ init##TYPE (&g09##TYPE, 9); \ init##TYPE (&g10##TYPE, 10); \ init##TYPE (&g11##TYPE, 11); \ init##TYPE (&g12##TYPE, 12); \ init##TYPE (&g13##TYPE, 13); \ init##TYPE (&g14##TYPE, 14); \ init##TYPE (&g15##TYPE, 15); \ init##TYPE (&g16##TYPE, 16); \ checkg##TYPE (); \ DEBUG_NL; \ DEBUG_FPUTS (#TYPE); \ DEBUG_FPUTS (" test0: "); \ rslt = test0##TYPE (); \ check##TYPE (rslt, 1); \ DEBUG_NL; \ DEBUG_FPUTS (#TYPE); \ DEBUG_FPUTS (" test1: "); \ rslt = test1##TYPE (g01##TYPE); \ check##TYPE (rslt, 1); \ if (test_va) \ { \ DEBUG_NL; \ DEBUG_FPUTS (#TYPE); \ DEBUG_FPUTS (" testva: "); \ rslt = testva##TYPE (1, g01##TYPE); \ check##TYPE (rslt, 1); \ rslt = testva##TYPE (5, g01##TYPE, g02##TYPE, \ g03##TYPE, g04##TYPE, \ g05##TYPE); \ check##TYPE (rslt, 5); \ rslt = testva##TYPE (9, g01##TYPE, g02##TYPE, \ g03##TYPE, g04##TYPE, \ g05##TYPE, g06##TYPE, \ g07##TYPE, g08##TYPE, \ g09##TYPE); \ check##TYPE (rslt, 9); \ rslt = testva##TYPE (16, g01##TYPE, g02##TYPE, \ g03##TYPE, g04##TYPE, \ g05##TYPE, g06##TYPE, \ g07##TYPE, g08##TYPE, \ g09##TYPE, g10##TYPE, \ g11##TYPE, g12##TYPE, \ g13##TYPE, g14##TYPE, \ g15##TYPE, g16##TYPE); \ check##TYPE (rslt, 16); \ } \ DEBUG_NL; \}#include "small-struct-defs.h"#include "small-struct-check.h"T(Sc)T(Ss)T(Si)T(Scs)T(Ssc)T(Sic)T(Sci)T(Ssi)T(Sis)T(Scsi)T(Scis)T(Ssci)T(Ssic)T(Sisc)T(Sics)#undef Tvoidstruct_return_3_x (){DEBUG_INIT#define T(TYPE) testit##TYPE ();T(Sc)T(Ss)T(Si)T(Scs)T(Ssc)T(Sic)T(Sci)T(Ssi)T(Sis)T(Scsi)T(Scis)T(Ssci)T(Ssic)T(Sisc)T(Sics)DEBUG_FINIif (fails != 0) abort ();#undef T}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?