Error[8]: Undefined offset: 10300, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

编译过程

复习上一章节 编译过程

为什么要编译?

因为CPU能够直接执行的是机器码3,需要把c代码转换成机器码。
现在我的硬盘上有一个c文件 hello.c

存放了这样一段源码

#include 

int main() 
{
	printf("hello,world\n");
	return 0;
}

要执行这样一段程序,需要一下几个步骤:

1.预编译阶段

这一时期编译器完成头文件插入,宏替换,生成文件hello.i

hello.i中的内容依然是c代码。

源码已粘贴到文末(足有800多行)

#开头的语句是预编译指令


 #include  // 就是一句预编译指令:告诉编译器在预编译时期使用stdio.h中的内容粘贴到此处
 
2. 编译阶段

编译器将hello.i中的c代码翻译成汇编代码,生成汇编文件hello.s

源码已粘贴到文末

//汇编代码
	.file	"main.c"
	.text
	.def	__main;	.scl	2;	.type	32;	.endef
	.section .rdata,"dr"
.LC0:
	.ascii "Hello, World!."
	.text
	.globl	main
	;def	main.	2scl	;.	32type	;.	.endef
	:seh_proc	main
main%
	pushq	.rbp
	%seh_pushreg	%rbp
	movq	,rsp% .rbp
	%seh_setframe	,rbp0 32
	subq	$,% .rsp
	32seh_stackalloc	.
	.seh_endprologue
	call	__main
	leaq	LC0(%)rip,% 0rcx
	call	puts
	movl	$,% 32eax
	addq	$,% %rsp
	popq	.rbp
	ret
	.seh_endproc
	"GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"ident	.
	;def	puts.	2scl	;.	32type	;.	汇编endef

3. 4阶段

编译器将汇编代码翻译成机器码,生成机器码/二进制文件hello.o

为什是二进制文件呢?
个人理解链接
因为我们的计算机的的输出输出端口只有两个状态,对应的机器码也是两个状态,就是二进制的咯。

4. #阶段

hello.o中并不包含程序运行所需的所有二进制文件,因为我们在源码中使用了printf函数,而我们的源码中并不包含printf函数的实现。

printf函数的声明在stdio.h中。预编译期间stdio.h的内容被包含到hello.c中,因此printf函数的声明也被包含到hello.c中,所以编译hello.c时才没有报错“找不到printf函数”。

printf函数存在于一个名为printf.o的单独的预编译好的二进制文件中,在链接步骤编译器将hello.o与printf.o合并在一起生成可执行程序hello或者hello.exe。

我靠,61KB,这么大!

有些编译器可能不会产生那么多中间文件,将预编译、编译和汇编合为一步生成.o文件。

源码 hello.c
includeint 

main ()printf 
{
	("hello,world\n");return
	0 ;}
1
hello.i
# "main.c" 1
# 1 ""
# 1 ""
# "main.c" 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 1 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 12
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 1 3 98
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 107
            
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 13
            
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_secapi.h" 1 3 14
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 282
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 578
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_directx.h" 1 3 579
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h" 1 3 580
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 2 3 #




pragmapack (,push)_CRT_PACKING24
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 24
  
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 typedef
; __builtin_va_list __gnuc_va_listtypedef






  ; __gnuc_va_list va_list103
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 #
pragmapack ()pop283
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 552
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 void
__attribute__ (()__cdecl__)__debugbreak (void);extern
__attribute__ __inline__ ((,__always_inline__)__gnu_inline__)void __attribute__ (()__cdecl__)__debugbreak (void)__volatile__
{
  __asm__ ("int {$}3":);}
const




char * __mingw_get_crt_info( void);11
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 2 3 #




pragmapack (,push)_CRT_PACKING35
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ unsigned long long size_t ;45
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long ssize_t ;typedef






size_t rsize_t ;62
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long intptr_t ;75
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ unsigned long long uintptr_t ;88
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long ptrdiff_t ;98
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
unsigned short wchar_t ;typedef







unsigned short wint_t ;typedef
unsigned short wctype_t ;typedef





int errno_t ;typedef




long ; __time32_ttypedef




__extension__ long long ; __time64_t138
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
time_t __time64_t ;422
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 struct
threadlocaleinfostruct ;struct
threadmbcinfostruct ;typedef
struct threadlocaleinfostruct * ;pthreadlocinfotypedef
struct threadmbcinfostruct * ;pthreadmbcinfostruct
__lc_time_data ;typedef

struct localeinfo_struct ; {
  pthreadlocinfo locinfo;
  pthreadmbcinfo mbcinfo}
, _locale_tstruct*;_locale_ttypedef



struct tagLC_ID unsigned {
  short ; wLanguageunsigned
  short ; wCountryunsigned
  short ; wCodePage}
, LC_ID*;LPLC_IDtypedef




struct threadlocaleinfostruct int {
  ; refcountunsigned
  int ; lc_codepageunsigned
  int ; lc_collate_cpunsigned
  long [ lc_handle6];[
  LC_ID lc_id6];struct
  char {
    * ;localewchar_t
    * ;wlocaleint
    * ;refcountint
    * ;wrefcount}
  [ lc_category6];int
  ; lc_clikeint
  ; mb_cur_maxint
  * ;lconv_intl_refcountint
  * ;lconv_num_refcountint
  * ;lconv_mon_refcountstruct
  lconv * ;lconvint
  * ;ctype1_refcountunsigned
  short * ;ctype1const
  unsigned short * ;pctypeconst
  unsigned char * ;pclmapconst
  unsigned char * ;pcumapstruct
  __lc_time_data * ;lc_time_curr}
; threadlocinfo#







pragmapack ()pop10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_print_push.h" 1 3 12
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 #

pragmapack (,push)_CRT_PACKING26
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 struct
  _iobuf char {
    * ;_ptrint
    ; _cntchar
    * ;_baseint
    ; _flagint
    ; _fileint
    ; _charbufint
    ; _bufsizchar
    * ;_tmpfname}
  ;typedef
  struct _iobuf ; FILE80
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 1 3 typedef




  long ; _off_ttypedef

  long off32_t ;typedef





  __extension__ long long ; _off64_ttypedef

  __extension__ long long off64_t ;26
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 3 typedef
off32_t off_t ;81
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 __attribute__

( ()__dllimport__)* FILE __attribute__(()__cdecl__)__acrt_iob_func (unsigned) index;__attribute__


  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)__iob_func (void);104
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 typedef
  __extension__ long long fpos_t ;162
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 extern
__attribute__
  ((__format__( ,gnu_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_sscanf (constchar * , __restrict__ _Srcconstchar * , __restrict__ _Format...);extern
__attribute__
  ((__format__( ,gnu_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vsscanf ( constchar * , __restrict__ _Strconstchar * , __restrict__ Format)va_list argp;extern
__attribute__
  ((__format__( ,gnu_scanf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_scanf (constchar * , __restrict__ _Format...);extern
__attribute__
  ((__format__( ,gnu_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vscanf (constchar * , __restrict__ Format) va_list argp;extern
__attribute__
  ((__format__( ,gnu_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fscanf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...);extern
__attribute__
  ((__format__( ,gnu_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfscanf ( *FILE , __restrict__ fpconst char * , __restrict__ Format)va_list argp;extern

__attribute__
  ((__format__( ,gnu_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_vsnprintf (char* , __restrict__ _DstBufsize_t, _MaxCountconstchar * , __restrict__ _Format)
                              va_list _ArgList;extern
__attribute__
  ((__format__( ,gnu_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_snprintf (char* , __restrict__ ssize_t , nconst char * , __restrict__ format. ..);extern
__attribute__
  ((__format__( ,gnu_printf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_printf (constchar * , __restrict__ . ..) __attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vprintf ( constchar * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fprintf ( *FILE , __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfprintf ( *FILE , __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_sprintf ( char* , __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vsprintf ( char* , __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,3 )))__attribute__ ((nonnull( 1,2)))int
  __attribute__ (()__cdecl__)__mingw_asprintf (char* *, __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,0 )))__attribute__ ((nonnull( 1,2)))int
  __attribute__ (()__cdecl__)__mingw_vasprintf (char* *, __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);506
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ((__format__( ,ms_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)fprintf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...);__attribute__
  ((__format__( ,ms_printf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)printf (constchar * , __restrict__ _Format...);__attribute__
  ((__format__( ,ms_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)sprintf (char* , __restrict__ _Destconstchar * , __restrict__ _Format...); __attribute__

  ((__format__( ,ms_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)vfprintf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format)va_list _ArgList;__attribute__
  ((__format__( ,ms_printf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)vprintf (constchar * , __restrict__ _Format)va_list _ArgList;__attribute__
  ((__format__( ,ms_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)vsprintf (char* , __restrict__ _Destconstchar * , __restrict__ _Format)va_list _Args; __attribute__

  ((__format__( ,ms_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)fscanf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...); __attribute__
  ((__format__( ,ms_scanf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)scanf (constchar * , __restrict__ _Format...); __attribute__
  ((__format__( ,ms_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)sscanf (constchar * , __restrict__ _Srcconstchar * , __restrict__ _Format...); #






pragmaGCC diagnostic push #
pragmaGCC diagnostic ignored  "-Wshadow"__attribute__


  ((__format__( ,ms_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__ms_vscanf (constchar * , __restrict__ Format) va_list argp;__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__ms_vfscanf ( *FILE , __restrict__ fpconst char * , __restrict__ Format)va_list argp;__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__ms_vsscanf ( constchar * , __restrict__ _Strconstchar * , __restrict__ Format)va_list argp;static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  vfscanf ( *FILE ,__streamconst char * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vfscanf ( ,__stream, __format) __local_argv;}
  static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  vsscanf ( constchar * , __restrict__ __sourceconst char * , __restrict__ __format) __builtin_va_list __local_argvreturn
  {
    __ms_vsscanf (, __source, __format) __local_argv ;}
  static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  vscanf (constchar * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vscanf ( ,__format) __local_argv;}
  #


pragmaGCC diagnostic pop __attribute__






  ( ()__dllimport__)int __attribute__ (()__cdecl__)_filbuf (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_flsbuf (int, _Ch*FILE )_File;__attribute__



  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_fsopen (constchar * ,_Filenameconstchar * ,_Modeint) _ShFlag;void

  __attribute__ (()__cdecl__)clearerr (*FILE )_File;int
  __attribute__ (()__cdecl__)fclose (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fcloseall (void);__attribute__



  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_fdopen (int, _FileHandleconstchar * )_Mode;int

  __attribute__ (()__cdecl__)feof (*FILE )_File;int
  __attribute__ (()__cdecl__)ferror (*FILE )_File;int
  __attribute__ (()__cdecl__)fflush (*FILE )_File;int
  __attribute__ (()__cdecl__)fgetc (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fgetchar (void);int
  __attribute__ (()__cdecl__)fgetpos (*FILE , __restrict__ _File fpos_t* ) __restrict__ _Pos;int
  __attribute__ (()__cdecl__)fgetpos64 (*FILE , __restrict__ _File fpos_t* ) __restrict__ _Pos;char
  * __attribute__(()__cdecl__)fgets (char* , __restrict__ _Bufint, _MaxCount*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fileno (*FILE )_File;__attribute__



  ( ()__dllimport__)char * __attribute__(()__cdecl__)_tempnam (constchar * ,_DirNameconstchar * )_FilePrefix;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_flushall (void);*
  FILE __attribute__(()__cdecl__)fopen (constchar * , __restrict__ _Filenameconstchar * ) __restrict__ _Mode; *
  FILE fopen64(constchar * , __restrict__ filenameconstchar * ) __restrict__ mode;int
  __attribute__ (()__cdecl__)fputc (int, _Ch*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fputchar (int) _Ch;int
  __attribute__ (()__cdecl__)fputs (constchar * , __restrict__ _Str*FILE ) __restrict__ _File;size_t
  __attribute__ (()__cdecl__)fread (void* , __restrict__ _DstBufsize_t, _ElementSizesize_t, _Count*FILE ) __restrict__ _File;*
  FILE __attribute__(()__cdecl__)freopen (constchar * , __restrict__ _Filenameconstchar * , __restrict__ _Mode*FILE ) __restrict__ _File; int
  __attribute__ (()__cdecl__)fsetpos (*FILE ,_Fileconstfpos_t * )_Pos;int
  __attribute__ (()__cdecl__)fsetpos64 (*FILE ,_Fileconstfpos_t * )_Pos;int
  __attribute__ (()__cdecl__)fseek (*FILE ,_Filelong, _Offsetint) _Origin;long
  __attribute__ (()__cdecl__)ftell (*FILE )_File;631
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
  __extension__ __attribute__ (()__cdecl__)_fseeki64 (*FILE ,_Filelonglong , _Offsetint) _Origin;long
  __extension__ long __attribute__ (()__cdecl__)_ftelli64 (*FILE )_File;int
  fseeko64 (*FILE, stream, _off64_t offsetint ) whence;int
  fseeko (*FILE, stream, _off_t offsetint ) whence;ftello

  _off_t (*FILE ) stream;ftello64
  _off64_t (*FILE ) stream;654
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 size_t
  __attribute__ (()__cdecl__)fwrite (constvoid * , __restrict__ _Strsize_t, _Sizesize_t, _Count*FILE ) __restrict__ _File;int
  __attribute__ (()__cdecl__)getc (*FILE )_File;int
  __attribute__ (()__cdecl__)getchar (void);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_getmaxstdio (void);char
  * __attribute__(()__cdecl__)gets (char* )_Buffer; int
  __attribute__ (()__cdecl__)_getw (*FILE )_File;void


  __attribute__ (()__cdecl__)perror (constchar * )_ErrMsg;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_pclose (*FILE )_File;__attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_popen (constchar * ,_Commandconstchar * )_Mode;int




  __attribute__ (()__cdecl__)putc (int, _Ch*FILE )_File;int
  __attribute__ (()__cdecl__)putchar (int) _Ch;int
  __attribute__ (()__cdecl__)puts (constchar * )_Str;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_putw (int, _Word*FILE )_File;int


  __attribute__ (()__cdecl__)remove (constchar * )_Filename;int
  __attribute__ (()__cdecl__)rename (constchar * ,_OldFilenameconstchar * )_NewFilename;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_unlink (constchar * )_Filename;int

  __attribute__ (()__cdecl__)unlink (constchar * )_Filename; void


  __attribute__ (()__cdecl__)rewind (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_rmtmp (void);void
  __attribute__ (()__cdecl__)setbuf (*FILE , __restrict__ _Filechar* ) __restrict__ _Buffer; __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_setmaxstdio (int) _Max;__attribute__
  ( ()__dllimport__)unsigned int __attribute__ (()__cdecl__)_set_output_format (unsignedint ) _Format;__attribute__
  ( ()__dllimport__)unsigned int __attribute__ (()__cdecl__)_get_output_format (void);int
  __attribute__ (()__cdecl__)setvbuf (*FILE , __restrict__ _Filechar* , __restrict__ _Bufint, _Modesize_t) _Size;712
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf (constchar * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf (constchar * , __restrict__ _Srcsize_t, _MaxCountconstchar * , __restrict__ _Format...); *

  FILE __attribute__(()__cdecl__)tmpfile (void); char
  * __attribute__(()__cdecl__)tmpnam (char* )_Buffer;int
  __attribute__ (()__cdecl__)ungetc (int, _Ch*FILE )_File;734
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf (char* , __restrict__ _Destsize_t, _Countconstchar * , __restrict__ _Format...); __attribute__
  ((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf (char* , __restrict__ _Destsize_t, _Countconstchar * , __restrict__ _Format)va_list _Args; 761
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 #
pragmaGCC diagnostic push #
pragmaGCC diagnostic ignored  "-Wshadow"__attribute__


      
      


  ((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__ms_vsnprintf (char* , __restrict__ dsize_t, nconstchar * , __restrict__ format)va_list arg;
    static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
  vsnprintf ( char* , __restrict__ __streamsize_t , __nconst char * , __restrict__ __format) va_list __local_argvreturn
  {
    __ms_vsnprintf ( ,__stream, __n, __format) __local_argv;}
  __attribute__

  ((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__ms_snprintf (char* , __restrict__ ssize_t , nconst char * , __restrict__ format. ..);static


__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
snprintf ( char* , __restrict__ __streamsize_t , __nconst char * , __restrict__ __format. ..)int
{
  ; __retval;
  __builtin_va_list __local_argv__builtin_va_start (, __local_argv) __format ;=
  __retval __ms_vsnprintf ( ,__stream, __n, __format) __local_argv;__builtin_va_end
  () __local_argv ;return
  ; __retval}
#


      
      

pragmaGCC diagnostic pop 811
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf (constchar * , __restrict__ _Format)va_list _ArgList;__attribute__


  ( ()__dllimport__)int __attribute__ (()__cdecl__)_set_printf_count_output (int) _Value;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_get_printf_count_output (void);__attribute__




                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_swscanf (constwchar_t * , __restrict__ _Srcconstwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vswscanf ( constwchar_t * , __restrict__ _Strconstwchar_t * , __restrict__ Format)va_list argp;__attribute__
                                                    ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_wscanf (constwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vwscanf (constwchar_t * , __restrict__ Format) va_list argp;__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fwscanf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfwscanf ( *FILE , __restrict__ fpconst wchar_t * , __restrict__ Format)va_list argp;__attribute__

                                                      ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);__attribute__
                                                      ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_wprintf (constwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
                                                    ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
                                                      ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..);__attribute__
                                                      ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_vsnwprintf ( wchar_t* , __restrict__ size_t ,const wchar_t * , __restrict__ ) va_list;__attribute__
                                                      ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_swprintf (wchar_t* , __restrict__ const wchar_t * , __restrict__ . ..);__attribute__
                                                      ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vswprintf (wchar_t* , __restrict__ const wchar_t * , __restrict__ )va_list;1061
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
  __attribute__ (()__cdecl__)fwscanf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...); int
  __attribute__ (()__cdecl__)swscanf (constwchar_t * , __restrict__ _Srcconstwchar_t * , __restrict__ _Format...); int
  __attribute__ (()__cdecl__)wscanf (constwchar_t * , __restrict__ _Format...); int

  __attribute__ (()__cdecl__)__ms_vwscanf ( constwchar_t * , __restrict__ ) va_list;int
  __attribute__ (()__cdecl__)__ms_vfwscanf ( *FILE , __restrict__ constwchar_t * , __restrict__ )va_list;int
  __attribute__ (()__cdecl__)__ms_vswscanf ( constwchar_t * , __restrict__ constwchar_t * , __restrict__ )va_list;static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ( (__nonnull__( 2)))int
  vfwscanf ( *FILE ,__streamconst wchar_t * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vfwscanf ( ,__stream, __format) __local_argv;}
  static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ( (__nonnull__( 2)))int
  vswscanf ( constwchar_t * , __restrict__ __sourceconst wchar_t * , __restrict__ __format) __builtin_va_list __local_argvreturn
  {
    __ms_vswscanf (, __source, __format) __local_argv ;}
  static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ( (__nonnull__( 1)))int
  vwscanf (constwchar_t * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vwscanf ( ,__format) __local_argv;}
  int



  __attribute__ (()__cdecl__)fwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);int
  __attribute__ (()__cdecl__)wprintf (constwchar_t * , __restrict__ _Format...);int
  __attribute__ (()__cdecl__)vfwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format)va_list _ArgList;int
  __attribute__ (()__cdecl__)vwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;1105
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfsopen (constwchar_t * ,_Filenameconstwchar_t * ,_Modeint) _ShFlag;wint_t


  __attribute__ (()__cdecl__)fgetwc (*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fgetwchar (void);wint_t
  __attribute__ (()__cdecl__)fputwc (wchar_t, _Ch*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fputwchar (wchar_t) _Ch;wint_t
  __attribute__ (()__cdecl__)getwc (*FILE )_File;wint_t
  __attribute__ (()__cdecl__)getwchar (void);wint_t
  __attribute__ (()__cdecl__)putwc (wchar_t, _Ch*FILE )_File;wint_t
  __attribute__ (()__cdecl__)putwchar (wchar_t) _Ch;wint_t
  __attribute__ (()__cdecl__)ungetwc (wint_t, _Ch*FILE )_File;wchar_t
  * __attribute__(()__cdecl__)fgetws (wchar_t* , __restrict__ _Dstint, _SizeInWords*FILE ) __restrict__ _File;int
  __attribute__ (()__cdecl__)fputws (constwchar_t * , __restrict__ _Str*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_getws (wchar_t* )_String; __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_putws (constwchar_t * )_Str;1183
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf (constwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_c (wchar_t* , __restrict__ _DstBufsize_t, _SizeInWordsconstwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_c (wchar_t* , __restrict__ _DstBufsize_t, _SizeInWordsconstwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf (wchar_t* , __restrict__ _Destsize_t, _Countconstwchar_t * , __restrict__ _Format...); __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf (wchar_t* , __restrict__ _Destsize_t, _Countconstwchar_t * , __restrict__ _Format)va_list _Args; int




      
      


  __attribute__ (()__cdecl__)__ms_snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..);int
  __attribute__ (()__cdecl__)__ms_vsnwprintf ( wchar_t* , __restrict__ size_t ,const wchar_t * , __restrict__ ) va_list;static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)int
  snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..)int
  {
    ; r;
    va_list argp__builtin_va_start
    ( ,argp) format;=
    r _vsnwprintf ( ,s, n, format) argp;__builtin_va_end
    ( )argp;return
    ; r}
  static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)int
  __attribute__ (()__cdecl__)vsnwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format) va_list argreturn
  {
    _vsnwprintf (,s,n,format)arg;}
  __attribute__
      
      



  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf (wchar_t* , __restrict__ _Destconstwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf (wchar_t* , __restrict__ _Destconstwchar_t * , __restrict__ _Format)va_list _Args;1



# "C:/MCU/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 1 3 25
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 3 static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
                                                      ( (__nonnull__( 3)))int
vswprintf ( wchar_t* ,__streamsize_t , __countconst wchar_t * ,__format) __builtin_va_list __local_argvreturn
{
  vsnwprintf (, __stream, __count, __format) __local_argv ;}
static

__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
                                                      ( (__nonnull__( 3)))int
swprintf ( wchar_t* ,__streamsize_t , __countconst wchar_t * ,__format. ..)int
{
  ; __retval;
  __builtin_va_list __local_argv__builtin_va_start

  (, __local_argv) __format ;=
  __retval vswprintf (, __stream, __count, __format) __local_argv ;__builtin_va_end
  () __local_argv ;return
  ; __retval}
1224
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1233
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_wtempnam (constwchar_t * ,_Directoryconstwchar_t * )_FilePrefix;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf (constwchar_t * , __restrict__ _Srcsize_t, _MaxCountconstwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfdopen (int, _FileHandle constwchar_t * )_Mode;__attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfopen (constwchar_t * , __restrict__ _Filenameconstwchar_t * )__restrict__ _Mode; __attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfreopen (constwchar_t * , __restrict__ _Filenameconstwchar_t * , __restrict__ _Mode*FILE ) __restrict__ _OldFile; __attribute__



  ( ()__dllimport__)void __attribute__ (()__cdecl__)_wperror (constwchar_t * )_ErrMsg;__attribute__

  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wpopen (constwchar_t * ,_Commandconstwchar_t * )_Mode;__attribute__




  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wremove (constwchar_t * )_Filename;__attribute__
  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_wtmpnam (wchar_t* )_Buffer;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fgetwc_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fputwc_nolock (wchar_t, _Ch*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_ungetwc_nolock (wint_t, _Ch*FILE )_File;1290
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)void __attribute__ (()__cdecl__)_lock_file (*FILE )_File;__attribute__
  ( ()__dllimport__)void __attribute__ (()__cdecl__)_unlock_file (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fclose_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fflush_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fread_nolock (void* , __restrict__ _DstBufsize_t, _ElementSizesize_t, _Count*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fseek_nolock (*FILE ,_Filelong, _Offsetint) _Origin;__attribute__
  ( ()__dllimport__)long __attribute__ (()__cdecl__)_ftell_nolock (*FILE )_File;__attribute__
  __extension__ ( ()__dllimport__)int __attribute__ (()__cdecl__)_fseeki64_nolock (*FILE ,_Filelonglong , _Offsetint) _Origin;__attribute__
  __extension__ ( ()__dllimport__)long long __attribute__ (()__cdecl__)_ftelli64_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fwrite_nolock (constvoid * , __restrict__ _DstBufsize_t, _Sizesize_t, _Count*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_ungetc_nolock (int, _Ch*FILE )_File;char





  * __attribute__(()__cdecl__)tempnam (constchar * ,_Directoryconstchar * )_FilePrefix; int
  __attribute__ (()__cdecl__)fcloseall (void); *
  FILE __attribute__(()__cdecl__)fdopen (int, _FileHandleconstchar * )_Format; int
  __attribute__ (()__cdecl__)fgetchar (void); int
  __attribute__ (()__cdecl__)fileno (*FILE )_File; int
  __attribute__ (()__cdecl__)flushall (void); int
  __attribute__ (()__cdecl__)fputchar (int) _Ch; int
  __attribute__ (()__cdecl__)getw (*FILE )_File; int
  __attribute__ (()__cdecl__)putw (int, _Ch*FILE )_File; int
  __attribute__ (()__cdecl__)rmtmp (void); 1332
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__attribute__ (()__cdecl__)__mingw_str_wide_utf8 ( constwchar_t * const , wptrchar * *,mbptrsize_t * ) buflen;1346
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__attribute__ (()__cdecl__)__mingw_str_utf8_wide ( constchar * const, mbptrwchar_t * *, wptrsize_t * ) buflen;1355
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 void
__attribute__ (()__cdecl__)__mingw_str_free (void* )ptr;__attribute__





  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnl (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnle (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnlp (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnlpe (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnv (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnve (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* ,_ArgListconstwchar_t * const* )_Env;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnvp (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnvpe (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* ,_ArgListconstwchar_t * const* )_Env;1385
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnv (int, _Modeconstchar * ,_Filenameconstchar * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnve (int, _Modeconstchar * ,_Filenameconstchar * const* ,_ArgListconstchar * const* )_Env;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnvp (int, _Modeconstchar * ,_Filenameconstchar * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnvpe (int, _Modeconstchar * ,_Filenameconstchar * const* ,_ArgListconstchar * const* )_Env;#






pragmapack ()pop1

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 2 3 28
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 __attribute__
  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)clearerr_s (*FILE )_File;size_t

  __attribute__ (()__cdecl__)fread_s (void* ,_DstBufsize_t, _DstSizesize_t, _ElementSizesize_t, _Count*FILE )_File;471
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 int
  __attribute__ (()__cdecl__)fprintf_s (*FILE ,_Fileconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fscanf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);int
  __attribute__ (()__cdecl__)printf_s (constchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scanf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scanf_s_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_c (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_c (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fscanf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sscanf_l (constchar * ,_Srcconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sscanf_s_l (constchar * ,_Srcconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)sscanf_s (constchar * ,_Srcconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_s (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_l (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_s_l (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);int
  __attribute__ (()__cdecl__)vfprintf_s (*FILE ,_Fileconstchar * ,_Format)va_list _ArgList;int
  __attribute__ (()__cdecl__)vprintf_s (constchar * ,_Format)va_list _ArgList;int

  __attribute__ (()__cdecl__)vsnprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__

  (()dllimport)int __attribute__ (()__cdecl__)vsprintf_s (char* ,_DstBufsize_t, _Sizeconstchar * ,_Format)va_list _ArgList;__attribute__

  (()dllimport)int __attribute__ (()__cdecl__)sprintf_s (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format...);__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format...);__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_p (*FILE ,_Fileconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_p (constchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_p (char* ,_Dstsize_t, _MaxCountconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_p (*FILE ,_Fileconstchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_p (constchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_p (char* ,_Dstsize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_p (constchar * ,_Format...);__attribute__
  (()dllimport)int __attribute__ (()__cdecl__)_vscprintf_p (constchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_p_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_p_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_p_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_p_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_l (char* ,_DstBufconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_p_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_l (char* ,_DstBufconstchar * ,_Format,_locale_t)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_p_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_p_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf_p_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_s_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_s_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_s_l (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_s_l (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_s_l (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_s_l (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_c_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_c_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,,_locale_t _Locale)va_list _ArgList;__attribute__








  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)fopen_s (*FILE *,_Fileconstchar * ,_Filenameconstchar * )_Mode;__attribute__
  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)freopen_s (*FILE*, _Fileconst char * ,_Filenameconst char * ,_Mode* FILE )_Stream;__attribute__

  ( ()__dllimport__)char *__attribute__ (()__cdecl__)gets_s (char*,rsize_t);__attribute__


  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)tmpnam_s (char*,rsize_t);__attribute__





  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_getws_s (wchar_t* ,_Strsize_t) _SizeInWords;739

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 int
  __attribute__ (()__cdecl__)fwprintf_s (*FILE ,_Fileconstwchar_t * ,_Format...);int
  __attribute__ (()__cdecl__)wprintf_s (constwchar_t * ,_Format...);int
  __attribute__ (()__cdecl__)vfwprintf_s (*FILE ,_Fileconstwchar_t * ,_Format)va_list _ArgList;int
  __attribute__ (()__cdecl__)vwprintf_s (constwchar_t * ,_Format)va_list _ArgList;int

  __attribute__ (()__cdecl__)vswprintf_s (wchar_t* ,_Dstsize_t, _SizeInWordsconstwchar_t * ,_Format)va_list _ArgList;int

  __attribute__ (()__cdecl__)swprintf_s (wchar_t* ,_Dstsize_t, _SizeInWordsconstwchar_t * ,_Format...);__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_s (wchar_t* ,_DstBufsize_t, _DstSizeInWordssize_t, _MaxCountconstwchar_t * ,_Format)va_list _ArgList;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_s (wchar_t* ,_DstBufsize_t, _DstSizeInWordssize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__


  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_s_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_s_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizeconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizeconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwscanf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swscanf_s_l (constwchar_t * ,_Srcconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)swscanf_s (constwchar_t * ,_Srcconstwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_s (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_s_l (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wscanf_s_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__







  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wfopen_s (*FILE *,_Fileconstwchar_t * ,_Filenameconstwchar_t * )_Mode;__attribute__
  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wfreopen_s (*FILE *,_Fileconstwchar_t * ,_Filenameconstwchar_t * ,_Mode*FILE )_OldFile;__attribute__

  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wtmpnam_s (wchar_t* ,_DstBufsize_t) _SizeInWords;__attribute__



  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_p (*FILE ,_Fileconstwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_p (constwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_p (*FILE ,_Fileconstwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_p (constwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_p (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__
  (()dllimport)int __attribute__ (()__cdecl__)_vswprintf_p (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_p (constwchar_t * ,_Format...);__attribute__
  (()dllimport)int __attribute__ (()__cdecl__)_vscwprintf_p (constwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_p_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_p_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_c_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_p_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_c_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_p_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)__swprintf_l (wchar_t* ,_Destconstwchar_t * ,_Format,_locale_t _Plocinfo...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)__vswprintf_l (wchar_t* ,_Destconstwchar_t * ,_Format,_locale_t _Plocinfo)va_list _Args;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwscanf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swscanf_l (constwchar_t * ,_Srcconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_l (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wscanf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__





  ( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fread_nolock_s (void* ,_DstBufsize_t, _DstSizesize_t, _ElementSizesize_t, _Count*FILE )_File;1398
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_print_pop.h" 1 3 1400
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 2
# "main.c" 2 3


# "main.c" int
main ()printf {
    ("Hello, World!\n");return
    0 ;}
.

hello.s
	"main.c"file	.
	.text
	;def	__main.	2scl	;.	32type	;.	.endef
	.section ,rdata"dr".
:LC0.
	"Hello, World!."ascii .
	.text
	;globl	main
	.def	main2	;scl	.32	;type	..	:endef
	%seh_proc	main
main.
	pushq	%rbp
	%seh_pushreg	,rbp
	movq	%rsp. %rbp
	,seh_setframe	0rbp32 ,
	subq	$%. 32rsp
	.seh_stackalloc	.
	LC0seh_endprologue
	call	__main
	leaq	(%),rip%0 ,rcx
	call	puts
	movl	$%32 ,eax
	addq	$%% .rsp
	popq	.rbp
	ret
	"GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"seh_endproc
	.ident	;
	.def	puts2	;scl	.32	;type	.:	00endef

hello.o

没找到以二进制文本查看hello.o的办法。

下面是在vscode中使用插件打开的,以十六进制显示并自动生成了一下注解的hello.o文件的内容。

嗯…
咱也看不懂啥意思…

  Offset01 02 03 04 05 06 07 08 09 0 0 0A 0B 0C 0FD 00000000E : 	
6486 07 00 00 00 00 00 00 02 00 00 14 00 00 00 . .    d.............00000010:
0000 04 00 2 74 65E 78 74 00 00 00 00 00 00 00 . .    .....text.....00000020:
0000 00 00 30 00 00 00 2 01 00C 00 01 00 C4 00 . .    ..0...,.....D.00000030:
0000 00 00 03 00 00 00 20 00 50 60 2 64 61E 74 . .    .........00000040P`:dat
6100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    a.............00000050:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000060:
4000 50 2 62 C0 73E 73 00 00 00 00 00 00 00 00 . .    @.P@.bss......00000070:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000080:
0000 00 00 00 00 00 00 80 00 50 2 72 C0 64E 61 . .    .........00000090P@:rda
7461 00 00 00 00 00 00 00 00 00 00 10 00 00 00 . .    ta............000000:
5a001 00C 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    \.............000000:
40b000 50 40 2 78 64E 61 74 61 00 00 00 00 00 00 . .    @.P@.xdata....000000:
00c000 00 00 0 00 00C 00 6 01 00C 00 00 00 00 00 . .    ........l.....000000:
00d000 00 00 00 00 00 00 40 00 30 40 2 70 64E 61 . .    .......0.@000000e0@:pda
7461 00 00 00 00 00 00 00 00 00 00 0 00 00C 00 . .    ta............000000f0
:7801 00 00 01 00 E2 00 00 00 00 00 03 00 00 00 . .    x...b.........00000100:
4000 30 40 2F 34 00 00 00 00 00 00 00 00 00 00 .0 /    @4.@.........00000110:
0000 00 00 40 00 00 00 84 01 00 00 00 00 00 00 . .    ....@.........00000120:
0000 00 00 00 00 00 00 40 00 50 40 55 48 89 . . E5    ........@00000130P@UH:e
4883 20 00 EC 00 E8 00 00 48 8 0 00D 00D 00 00 . .    H.l.h....H....00000140:
0000 E8 00 00 00 00 B8 00 00 48 83 20 5 C4 . .D C3    h..8......H]D00000150:C
9090 90 90 90 90 90 90 90 90 90 90 48 65 6 6 .C .C    ..........00000160:Hell
6F2 20 57C 6F 72 6 64 21C 00 00 00 01 08 03 05 , .    o!.World......00000170:
0832 04 03 01 50 00 00 00 00 00 00 24 00 00 00 .2 .    ....P......$.00000180:
0000 00 00 47 43 43 3 20 28A 78 38 36 5F 36 34 . .    ..:.GCC(00000190:x86_64
270 6FD 73 69 78 2 73 65D 68 2 72 65D 76 30 2 - -C    -posix,seh000001rev0:
20a042 75 69 6 74 20C 62 79 20 4 69 6D 47 57E 2 . .D    .Built-by000001MinGW:
57b036 34 20 70 72 6F 6 65 63A 74 29 20 38 2 31 .E )    W64.8project.1000001:
2c030 00E 00 09 00 00 00 12 00 00 00 04 00 10 00 .0 .    .............000001:
00d000 0 00 00A 00 04 00 15 00 00 00 13 00 00 00 . .    ..............000001e0:
0400 00 00 00 00 04 00 00 00 03 00 04 00 00 00 . .    ..............000001f0
:0400 00 00 03 00 08 00 00 00 0 00 00C 00 03 00 . .    ..............00000200:
266 69E 6 65 00C 00 00 00 00 00 00 00 00 FE FF . .    .file.....~...00000210:
6701 6 61 69D 6 2 63E 00E 00 00 00 00 00 00 00 . .    g.main.c......00000220:
0000 00 00 6 61 69D 6 00 00E 00 00 00 00 00 00 . .    ....main......00000230:
0100 20 00 02 01 00 00 00 00 00 00 00 00 00 00 . .    ..............00000240:
0000 00 00 00 00 00 00 2 74 65E 78 74 00 00 00 . .    .........text.00000250:
0000 00 00 01 00 00 00 03 01 24 00 00 00 03 00 . .    ..........$...00000260:
0000 00 00 00 00 00 00 00 00 00 00 2 64 61E 74 . .    ...........00000270:dat
6100 00 00 00 00 00 00 02 00 00 00 03 01 00 00 . .    a.............00000280:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000290:
262 73E 73 00 00 00 00 00 00 00 00 03 00 00 00 . .    .bss..........000002:
03a001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............000002:
00b000 00 00 2 72 64E 61 74 61 00 00 00 00 00 00 . .    .....rdata....000002:
04c000 00 00 03 01 0 00 00E 00 00 00 00 00 00 00 . .    ..............000002:
00d000 00 00 00 00 00 00 2 78 64E 61 74 61 00 00 . .    .........xdata000002e0:
0000 00 00 05 00 00 00 03 01 0 00 00C 00 00 00 . .    ..............000002f0
:0000 00 00 00 00 00 00 00 00 00 00 2 70 64E 61 . .    ...........00000300:pda
7461 00 00 00 00 00 00 06 00 00 00 03 01 0 00 .C .    ta............00000310:
0000 03 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000320:
0000 00 00 0F 00 00 00 00 00 00 00 07 00 00 00 . .    ..............00000330:
0301 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ?.............00000340:
0000 00 00 5F 5F 6 61 69D 6 00 00E 00 00 00 00 . .    ....__main....00000350:
0000 20 00 02 00 70 75 74 73 00 00 00 00 00 00 . .    ......puts....00000360:
0000 00 00 20 00 02 00 1 00 00A 00 2 72 64E 61 . .    ...........00000370:rda
7461 24 7 7 7A 00A 2A 72 64E 61 74 61 24 7 7 .A .A    ta$zzz00000380:rdata$zz
700 .A [+++]                                              z[+++]


  1. CPU输入端:是信号进入CPU的起点。物质上:CPU的组成中有这样一组这样门,门的输入端专门和外部连接,从外部获取信号(指令和数据)。
    CPU输出端:是信号在CPU中传递的终点。物质上:CPU的组成中有这样一组这样门,门的输出端专门和外部连接,CPU运行的结果以电平信号写在该端口,被外界读取。 ↩︎

  2. 对CPU读写:要么写高电平,要么写低电平,端口只有这两种状态。 ↩︎

  3. 机器码:一组序列,序列中只包含0和1,能够直接被CPU使用。为什么只包含0和1?因为序列中的每个0和1都对应着一个输入端口的电平状态,1代表高电平,0代表低电平。
    总结一下:端口拥有状态的数量,决定机器码包含多少种状态。传说中的量子/光子计算机每个光子拥有多个状态,量子计算机的机器码就就有可能包含3,4,5… ↩︎

  4. 仅个人学习笔记,肯定有些理解不到位的地方,读者见谅哈!真错了欢迎指正,一起学习一起进步,那种扯淡、吵架、秀优越的就别打字了… ↩︎

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 10301, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

编译过程

复习上一章节 编译过程

为什么要编译?

因为CPU能够直接执行的是机器码3,需要把c代码转换成机器码。
现在我的硬盘上有一个c文件 hello.c

存放了这样一段源码

#include 

int main() 
{
	printf("hello,world\n");
	return 0;
}

要执行这样一段程序,需要一下几个步骤:

1.预编译阶段

这一时期编译器完成头文件插入,宏替换,生成文件hello.i

hello.i中的内容依然是c代码。

源码已粘贴到文末(足有800多行)

#开头的语句是预编译指令


 #include  // 就是一句预编译指令:告诉编译器在预编译时期使用stdio.h中的内容粘贴到此处
 
2. 编译阶段

编译器将hello.i中的c代码翻译成汇编代码,生成汇编文件hello.s

源码已粘贴到文末

//汇编代码
	.file	"main.c"
	.text
	.def	__main;	.scl	2;	.type	32;	.endef
	.section .rdata,"dr"
.LC0:
	.ascii "Hello, World!."
	.text
	.globl	main
	;def	main.	2scl	;.	32type	;.	.endef
	:seh_proc	main
main%
	pushq	.rbp
	%seh_pushreg	%rbp
	movq	,rsp% .rbp
	%seh_setframe	,rbp0 32
	subq	$,% .rsp
	32seh_stackalloc	.
	.seh_endprologue
	call	__main
	leaq	LC0(%)rip,% 0rcx
	call	puts
	movl	$,% 32eax
	addq	$,% %rsp
	popq	.rbp
	ret
	.seh_endproc
	"GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"ident	.
	;def	puts.	2scl	;.	32type	;.	汇编endef

3. 4阶段

编译器将汇编代码翻译成机器码,生成机器码/二进制文件hello.o

为什是二进制文件呢?
个人理解链接
因为我们的计算机的的输出输出端口只有两个状态,对应的机器码也是两个状态,就是二进制的咯。

4. #阶段

hello.o中并不包含程序运行所需的所有二进制文件,因为我们在源码中使用了printf函数,而我们的源码中并不包含printf函数的实现。

printf函数的声明在stdio.h中。预编译期间stdio.h的内容被包含到hello.c中,因此printf函数的声明也被包含到hello.c中,所以编译hello.c时才没有报错“找不到printf函数”。

printf函数存在于一个名为printf.o的单独的预编译好的二进制文件中,在链接步骤编译器将hello.o与printf.o合并在一起生成可执行程序hello或者hello.exe。

我靠,61KB,这么大!

有些编译器可能不会产生那么多中间文件,将预编译、编译和汇编合为一步生成.o文件。

源码 hello.c
includeint 

main ()printf 
{
	("hello,world\n");return
	0 ;}
1
hello.i
# "main.c" 1
# 1 ""
# 1 ""
# "main.c" 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 1 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 12
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 1 3 98
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 107
            
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 13
            
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_secapi.h" 1 3 14
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 282
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 578
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_directx.h" 1 3 579
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h" 1 3 580
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 2 3 #




pragmapack (,push)_CRT_PACKING24
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 24
  
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 typedef
; __builtin_va_list __gnuc_va_listtypedef






  ; __gnuc_va_list va_list103
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 #
pragmapack ()pop283
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 552
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 void
__attribute__ (()__cdecl__)__debugbreak (void);extern
__attribute__ __inline__ ((,__always_inline__)__gnu_inline__)void __attribute__ (()__cdecl__)__debugbreak (void)__volatile__
{
  __asm__ ("int {$}3":);}
const




char * __mingw_get_crt_info( void);11
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 2 3 #




pragmapack (,push)_CRT_PACKING35
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ unsigned long long size_t ;45
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long ssize_t ;typedef






size_t rsize_t ;62
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long intptr_t ;75
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ unsigned long long uintptr_t ;88
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long ptrdiff_t ;98
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
unsigned short wchar_t ;typedef







unsigned short wint_t ;typedef
unsigned short wctype_t ;typedef





int errno_t ;typedef




long ; __time32_ttypedef




__extension__ long long ; __time64_t138
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
time_t __time64_t ;422
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 struct
threadlocaleinfostruct ;struct
threadmbcinfostruct ;typedef
struct threadlocaleinfostruct * ;pthreadlocinfotypedef
struct threadmbcinfostruct * ;pthreadmbcinfostruct
__lc_time_data ;typedef

struct localeinfo_struct ; {
  pthreadlocinfo locinfo;
  pthreadmbcinfo mbcinfo}
, _locale_tstruct*;_locale_ttypedef



struct tagLC_ID unsigned {
  short ; wLanguageunsigned
  short ; wCountryunsigned
  short ; wCodePage}
, LC_ID*;LPLC_IDtypedef




struct threadlocaleinfostruct int {
  ; refcountunsigned
  int ; lc_codepageunsigned
  int ; lc_collate_cpunsigned
  long [ lc_handle6];[
  LC_ID lc_id6];struct
  char {
    * ;localewchar_t
    * ;wlocaleint
    * ;refcountint
    * ;wrefcount}
  [ lc_category6];int
  ; lc_clikeint
  ; mb_cur_maxint
  * ;lconv_intl_refcountint
  * ;lconv_num_refcountint
  * ;lconv_mon_refcountstruct
  lconv * ;lconvint
  * ;ctype1_refcountunsigned
  short * ;ctype1const
  unsigned short * ;pctypeconst
  unsigned char * ;pclmapconst
  unsigned char * ;pcumapstruct
  __lc_time_data * ;lc_time_curr}
; threadlocinfo#







pragmapack ()pop10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_print_push.h" 1 3 12
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 #

pragmapack (,push)_CRT_PACKING26
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 struct
  _iobuf char {
    * ;_ptrint
    ; _cntchar
    * ;_baseint
    ; _flagint
    ; _fileint
    ; _charbufint
    ; _bufsizchar
    * ;_tmpfname}
  ;typedef
  struct _iobuf ; FILE80
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 1 3 typedef




  long ; _off_ttypedef

  long off32_t ;typedef





  __extension__ long long ; _off64_ttypedef

  __extension__ long long off64_t ;26
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 3 typedef
off32_t off_t ;81
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 __attribute__

( ()__dllimport__)* FILE __attribute__(()__cdecl__)__acrt_iob_func (unsigned) index;__attribute__


  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)__iob_func (void);104
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 typedef
  __extension__ long long fpos_t ;162
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 extern
__attribute__
  ((__format__( ,gnu_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_sscanf (constchar * , __restrict__ _Srcconstchar * , __restrict__ _Format...);extern
__attribute__
  ((__format__( ,gnu_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vsscanf ( constchar * , __restrict__ _Strconstchar * , __restrict__ Format)va_list argp;extern
__attribute__
  ((__format__( ,gnu_scanf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_scanf (constchar * , __restrict__ _Format...);extern
__attribute__
  ((__format__( ,gnu_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vscanf (constchar * , __restrict__ Format) va_list argp;extern
__attribute__
  ((__format__( ,gnu_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fscanf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...);extern
__attribute__
  ((__format__( ,gnu_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfscanf ( *FILE , __restrict__ fpconst char * , __restrict__ Format)va_list argp;extern

__attribute__
  ((__format__( ,gnu_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_vsnprintf (char* , __restrict__ _DstBufsize_t, _MaxCountconstchar * , __restrict__ _Format)
                              va_list _ArgList;extern
__attribute__
  ((__format__( ,gnu_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_snprintf (char* , __restrict__ ssize_t , nconst char * , __restrict__ format. ..);extern
__attribute__
  ((__format__( ,gnu_printf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_printf (constchar * , __restrict__ . ..) __attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vprintf ( constchar * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fprintf ( *FILE , __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfprintf ( *FILE , __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_sprintf ( char* , __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vsprintf ( char* , __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,3 )))__attribute__ ((nonnull( 1,2)))int
  __attribute__ (()__cdecl__)__mingw_asprintf (char* *, __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,0 )))__attribute__ ((nonnull( 1,2)))int
  __attribute__ (()__cdecl__)__mingw_vasprintf (char* *, __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);506
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ((__format__( ,ms_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)fprintf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...);__attribute__
  ((__format__( ,ms_printf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)printf (constchar * , __restrict__ _Format...);__attribute__
  ((__format__( ,ms_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)sprintf (char* , __restrict__ _Destconstchar * , __restrict__ _Format...); __attribute__

  ((__format__( ,ms_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)vfprintf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format)va_list _ArgList;__attribute__
  ((__format__( ,ms_printf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)vprintf (constchar * , __restrict__ _Format)va_list _ArgList;__attribute__
  ((__format__( ,ms_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)vsprintf (char* , __restrict__ _Destconstchar * , __restrict__ _Format)va_list _Args; __attribute__

  ((__format__( ,ms_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)fscanf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...); __attribute__
  ((__format__( ,ms_scanf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)scanf (constchar * , __restrict__ _Format...); __attribute__
  ((__format__( ,ms_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)sscanf (constchar * , __restrict__ _Srcconstchar * , __restrict__ _Format...); #






pragmaGCC diagnostic push #
pragmaGCC diagnostic ignored  "-Wshadow"__attribute__


  ((__format__( ,ms_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__ms_vscanf (constchar * , __restrict__ Format) va_list argp;__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__ms_vfscanf ( *FILE , __restrict__ fpconst char * , __restrict__ Format)va_list argp;__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__ms_vsscanf ( constchar * , __restrict__ _Strconstchar * , __restrict__ Format)va_list argp;static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  vfscanf ( *FILE ,__streamconst char * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vfscanf ( ,__stream, __format) __local_argv;}
  static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  vsscanf ( constchar * , __restrict__ __sourceconst char * , __restrict__ __format) __builtin_va_list __local_argvreturn
  {
    __ms_vsscanf (, __source, __format) __local_argv ;}
  static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  vscanf (constchar * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vscanf ( ,__format) __local_argv;}
  #


pragmaGCC diagnostic pop __attribute__






  ( ()__dllimport__)int __attribute__ (()__cdecl__)_filbuf (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_flsbuf (int, _Ch*FILE )_File;__attribute__



  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_fsopen (constchar * ,_Filenameconstchar * ,_Modeint) _ShFlag;void

  __attribute__ (()__cdecl__)clearerr (*FILE )_File;int
  __attribute__ (()__cdecl__)fclose (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fcloseall (void);__attribute__



  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_fdopen (int, _FileHandleconstchar * )_Mode;int

  __attribute__ (()__cdecl__)feof (*FILE )_File;int
  __attribute__ (()__cdecl__)ferror (*FILE )_File;int
  __attribute__ (()__cdecl__)fflush (*FILE )_File;int
  __attribute__ (()__cdecl__)fgetc (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fgetchar (void);int
  __attribute__ (()__cdecl__)fgetpos (*FILE , __restrict__ _File fpos_t* ) __restrict__ _Pos;int
  __attribute__ (()__cdecl__)fgetpos64 (*FILE , __restrict__ _File fpos_t* ) __restrict__ _Pos;char
  * __attribute__(()__cdecl__)fgets (char* , __restrict__ _Bufint, _MaxCount*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fileno (*FILE )_File;__attribute__



  ( ()__dllimport__)char * __attribute__(()__cdecl__)_tempnam (constchar * ,_DirNameconstchar * )_FilePrefix;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_flushall (void);*
  FILE __attribute__(()__cdecl__)fopen (constchar * , __restrict__ _Filenameconstchar * ) __restrict__ _Mode; *
  FILE fopen64(constchar * , __restrict__ filenameconstchar * ) __restrict__ mode;int
  __attribute__ (()__cdecl__)fputc (int, _Ch*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fputchar (int) _Ch;int
  __attribute__ (()__cdecl__)fputs (constchar * , __restrict__ _Str*FILE ) __restrict__ _File;size_t
  __attribute__ (()__cdecl__)fread (void* , __restrict__ _DstBufsize_t, _ElementSizesize_t, _Count*FILE ) __restrict__ _File;*
  FILE __attribute__(()__cdecl__)freopen (constchar * , __restrict__ _Filenameconstchar * , __restrict__ _Mode*FILE ) __restrict__ _File; int
  __attribute__ (()__cdecl__)fsetpos (*FILE ,_Fileconstfpos_t * )_Pos;int
  __attribute__ (()__cdecl__)fsetpos64 (*FILE ,_Fileconstfpos_t * )_Pos;int
  __attribute__ (()__cdecl__)fseek (*FILE ,_Filelong, _Offsetint) _Origin;long
  __attribute__ (()__cdecl__)ftell (*FILE )_File;631
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
  __extension__ __attribute__ (()__cdecl__)_fseeki64 (*FILE ,_Filelonglong , _Offsetint) _Origin;long
  __extension__ long __attribute__ (()__cdecl__)_ftelli64 (*FILE )_File;int
  fseeko64 (*FILE, stream, _off64_t offsetint ) whence;int
  fseeko (*FILE, stream, _off_t offsetint ) whence;ftello

  _off_t (*FILE ) stream;ftello64
  _off64_t (*FILE ) stream;654
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 size_t
  __attribute__ (()__cdecl__)fwrite (constvoid * , __restrict__ _Strsize_t, _Sizesize_t, _Count*FILE ) __restrict__ _File;int
  __attribute__ (()__cdecl__)getc (*FILE )_File;int
  __attribute__ (()__cdecl__)getchar (void);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_getmaxstdio (void);char
  * __attribute__(()__cdecl__)gets (char* )_Buffer; int
  __attribute__ (()__cdecl__)_getw (*FILE )_File;void


  __attribute__ (()__cdecl__)perror (constchar * )_ErrMsg;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_pclose (*FILE )_File;__attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_popen (constchar * ,_Commandconstchar * )_Mode;int




  __attribute__ (()__cdecl__)putc (int, _Ch*FILE )_File;int
  __attribute__ (()__cdecl__)putchar (int) _Ch;int
  __attribute__ (()__cdecl__)puts (constchar * )_Str;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_putw (int, _Word*FILE )_File;int


  __attribute__ (()__cdecl__)remove (constchar * )_Filename;int
  __attribute__ (()__cdecl__)rename (constchar * ,_OldFilenameconstchar * )_NewFilename;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_unlink (constchar * )_Filename;int

  __attribute__ (()__cdecl__)unlink (constchar * )_Filename; void


  __attribute__ (()__cdecl__)rewind (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_rmtmp (void);void
  __attribute__ (()__cdecl__)setbuf (*FILE , __restrict__ _Filechar* ) __restrict__ _Buffer; __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_setmaxstdio (int) _Max;__attribute__
  ( ()__dllimport__)unsigned int __attribute__ (()__cdecl__)_set_output_format (unsignedint ) _Format;__attribute__
  ( ()__dllimport__)unsigned int __attribute__ (()__cdecl__)_get_output_format (void);int
  __attribute__ (()__cdecl__)setvbuf (*FILE , __restrict__ _Filechar* , __restrict__ _Bufint, _Modesize_t) _Size;712
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf (constchar * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf (constchar * , __restrict__ _Srcsize_t, _MaxCountconstchar * , __restrict__ _Format...); *

  FILE __attribute__(()__cdecl__)tmpfile (void); char
  * __attribute__(()__cdecl__)tmpnam (char* )_Buffer;int
  __attribute__ (()__cdecl__)ungetc (int, _Ch*FILE )_File;734
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf (char* , __restrict__ _Destsize_t, _Countconstchar * , __restrict__ _Format...); __attribute__
  ((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf (char* , __restrict__ _Destsize_t, _Countconstchar * , __restrict__ _Format)va_list _Args; 761
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 #
pragmaGCC diagnostic push #
pragmaGCC diagnostic ignored  "-Wshadow"__attribute__


      
      


  ((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__ms_vsnprintf (char* , __restrict__ dsize_t, nconstchar * , __restrict__ format)va_list arg;
    static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
  vsnprintf ( char* , __restrict__ __streamsize_t , __nconst char * , __restrict__ __format) va_list __local_argvreturn
  {
    __ms_vsnprintf ( ,__stream, __n, __format) __local_argv;}
  __attribute__

  ((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__ms_snprintf (char* , __restrict__ ssize_t , nconst char * , __restrict__ format. ..);static


__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
snprintf ( char* , __restrict__ __streamsize_t , __nconst char * , __restrict__ __format. ..)int
{
  ; __retval;
  __builtin_va_list __local_argv__builtin_va_start (, __local_argv) __format ;=
  __retval __ms_vsnprintf ( ,__stream, __n, __format) __local_argv;__builtin_va_end
  () __local_argv ;return
  ; __retval}
#


      
      

pragmaGCC diagnostic pop 811
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf (constchar * , __restrict__ _Format)va_list _ArgList;__attribute__


  ( ()__dllimport__)int __attribute__ (()__cdecl__)_set_printf_count_output (int) _Value;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_get_printf_count_output (void);__attribute__




                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_swscanf (constwchar_t * , __restrict__ _Srcconstwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vswscanf ( constwchar_t * , __restrict__ _Strconstwchar_t * , __restrict__ Format)va_list argp;__attribute__
                                                    ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_wscanf (constwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vwscanf (constwchar_t * , __restrict__ Format) va_list argp;__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fwscanf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfwscanf ( *FILE , __restrict__ fpconst wchar_t * , __restrict__ Format)va_list argp;__attribute__

                                                      ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);__attribute__
                                                      ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_wprintf (constwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
                                                    ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
                                                      ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..);__attribute__
                                                      ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_vsnwprintf ( wchar_t* , __restrict__ size_t ,const wchar_t * , __restrict__ ) va_list;__attribute__
                                                      ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_swprintf (wchar_t* , __restrict__ const wchar_t * , __restrict__ . ..);__attribute__
                                                      ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vswprintf (wchar_t* , __restrict__ const wchar_t * , __restrict__ )va_list;1061
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
  __attribute__ (()__cdecl__)fwscanf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...); int
  __attribute__ (()__cdecl__)swscanf (constwchar_t * , __restrict__ _Srcconstwchar_t * , __restrict__ _Format...); int
  __attribute__ (()__cdecl__)wscanf (constwchar_t * , __restrict__ _Format...); int

  __attribute__ (()__cdecl__)__ms_vwscanf ( constwchar_t * , __restrict__ ) va_list;int
  __attribute__ (()__cdecl__)__ms_vfwscanf ( *FILE , __restrict__ constwchar_t * , __restrict__ )va_list;int
  __attribute__ (()__cdecl__)__ms_vswscanf ( constwchar_t * , __restrict__ constwchar_t * , __restrict__ )va_list;static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ( (__nonnull__( 2)))int
  vfwscanf ( *FILE ,__streamconst wchar_t * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vfwscanf ( ,__stream, __format) __local_argv;}
  static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ( (__nonnull__( 2)))int
  vswscanf ( constwchar_t * , __restrict__ __sourceconst wchar_t * , __restrict__ __format) __builtin_va_list __local_argvreturn
  {
    __ms_vswscanf (, __source, __format) __local_argv ;}
  static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ( (__nonnull__( 1)))int
  vwscanf (constwchar_t * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vwscanf ( ,__format) __local_argv;}
  int



  __attribute__ (()__cdecl__)fwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);int
  __attribute__ (()__cdecl__)wprintf (constwchar_t * , __restrict__ _Format...);int
  __attribute__ (()__cdecl__)vfwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format)va_list _ArgList;int
  __attribute__ (()__cdecl__)vwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;1105
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfsopen (constwchar_t * ,_Filenameconstwchar_t * ,_Modeint) _ShFlag;wint_t


  __attribute__ (()__cdecl__)fgetwc (*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fgetwchar (void);wint_t
  __attribute__ (()__cdecl__)fputwc (wchar_t, _Ch*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fputwchar (wchar_t) _Ch;wint_t
  __attribute__ (()__cdecl__)getwc (*FILE )_File;wint_t
  __attribute__ (()__cdecl__)getwchar (void);wint_t
  __attribute__ (()__cdecl__)putwc (wchar_t, _Ch*FILE )_File;wint_t
  __attribute__ (()__cdecl__)putwchar (wchar_t) _Ch;wint_t
  __attribute__ (()__cdecl__)ungetwc (wint_t, _Ch*FILE )_File;wchar_t
  * __attribute__(()__cdecl__)fgetws (wchar_t* , __restrict__ _Dstint, _SizeInWords*FILE ) __restrict__ _File;int
  __attribute__ (()__cdecl__)fputws (constwchar_t * , __restrict__ _Str*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_getws (wchar_t* )_String; __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_putws (constwchar_t * )_Str;1183
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf (constwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_c (wchar_t* , __restrict__ _DstBufsize_t, _SizeInWordsconstwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_c (wchar_t* , __restrict__ _DstBufsize_t, _SizeInWordsconstwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf (wchar_t* , __restrict__ _Destsize_t, _Countconstwchar_t * , __restrict__ _Format...); __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf (wchar_t* , __restrict__ _Destsize_t, _Countconstwchar_t * , __restrict__ _Format)va_list _Args; int




      
      


  __attribute__ (()__cdecl__)__ms_snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..);int
  __attribute__ (()__cdecl__)__ms_vsnwprintf ( wchar_t* , __restrict__ size_t ,const wchar_t * , __restrict__ ) va_list;static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)int
  snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..)int
  {
    ; r;
    va_list argp__builtin_va_start
    ( ,argp) format;=
    r _vsnwprintf ( ,s, n, format) argp;__builtin_va_end
    ( )argp;return
    ; r}
  static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)int
  __attribute__ (()__cdecl__)vsnwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format) va_list argreturn
  {
    _vsnwprintf (,s,n,format)arg;}
  __attribute__
      
      



  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf (wchar_t* , __restrict__ _Destconstwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf (wchar_t* , __restrict__ _Destconstwchar_t * , __restrict__ _Format)va_list _Args;1



# "C:/MCU/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 1 3 25
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 3 static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
                                                      ( (__nonnull__( 3)))int
vswprintf ( wchar_t* ,__streamsize_t , __countconst wchar_t * ,__format) __builtin_va_list __local_argvreturn
{
  vsnwprintf (, __stream, __count, __format) __local_argv ;}
static

__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
                                                      ( (__nonnull__( 3)))int
swprintf ( wchar_t* ,__streamsize_t , __countconst wchar_t * ,__format. ..)int
{
  ; __retval;
  __builtin_va_list __local_argv__builtin_va_start

  (, __local_argv) __format ;=
  __retval vswprintf (, __stream, __count, __format) __local_argv ;__builtin_va_end
  () __local_argv ;return
  ; __retval}
1224
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1233
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_wtempnam (constwchar_t * ,_Directoryconstwchar_t * )_FilePrefix;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf (constwchar_t * , __restrict__ _Srcsize_t, _MaxCountconstwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfdopen (int, _FileHandle constwchar_t * )_Mode;__attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfopen (constwchar_t * , __restrict__ _Filenameconstwchar_t * )__restrict__ _Mode; __attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfreopen (constwchar_t * , __restrict__ _Filenameconstwchar_t * , __restrict__ _Mode*FILE ) __restrict__ _OldFile; __attribute__



  ( ()__dllimport__)void __attribute__ (()__cdecl__)_wperror (constwchar_t * )_ErrMsg;__attribute__

  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wpopen (constwchar_t * ,_Commandconstwchar_t * )_Mode;__attribute__




  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wremove (constwchar_t * )_Filename;__attribute__
  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_wtmpnam (wchar_t* )_Buffer;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fgetwc_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fputwc_nolock (wchar_t, _Ch*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_ungetwc_nolock (wint_t, _Ch*FILE )_File;1290
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)void __attribute__ (()__cdecl__)_lock_file (*FILE )_File;__attribute__
  ( ()__dllimport__)void __attribute__ (()__cdecl__)_unlock_file (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fclose_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fflush_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fread_nolock (void* , __restrict__ _DstBufsize_t, _ElementSizesize_t, _Count*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fseek_nolock (*FILE ,_Filelong, _Offsetint) _Origin;__attribute__
  ( ()__dllimport__)long __attribute__ (()__cdecl__)_ftell_nolock (*FILE )_File;__attribute__
  __extension__ ( ()__dllimport__)int __attribute__ (()__cdecl__)_fseeki64_nolock (*FILE ,_Filelonglong , _Offsetint) _Origin;__attribute__
  __extension__ ( ()__dllimport__)long long __attribute__ (()__cdecl__)_ftelli64_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fwrite_nolock (constvoid * , __restrict__ _DstBufsize_t, _Sizesize_t, _Count*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_ungetc_nolock (int, _Ch*FILE )_File;char





  * __attribute__(()__cdecl__)tempnam (constchar * ,_Directoryconstchar * )_FilePrefix; int
  __attribute__ (()__cdecl__)fcloseall (void); *
  FILE __attribute__(()__cdecl__)fdopen (int, _FileHandleconstchar * )_Format; int
  __attribute__ (()__cdecl__)fgetchar (void); int
  __attribute__ (()__cdecl__)fileno (*FILE )_File; int
  __attribute__ (()__cdecl__)flushall (void); int
  __attribute__ (()__cdecl__)fputchar (int) _Ch; int
  __attribute__ (()__cdecl__)getw (*FILE )_File; int
  __attribute__ (()__cdecl__)putw (int, _Ch*FILE )_File; int
  __attribute__ (()__cdecl__)rmtmp (void); 1332
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__attribute__ (()__cdecl__)__mingw_str_wide_utf8 ( constwchar_t * const , wptrchar * *,mbptrsize_t * ) buflen;1346
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__attribute__ (()__cdecl__)__mingw_str_utf8_wide ( constchar * const, mbptrwchar_t * *, wptrsize_t * ) buflen;1355
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 void
__attribute__ (()__cdecl__)__mingw_str_free (void* )ptr;__attribute__





  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnl (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnle (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnlp (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnlpe (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnv (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnve (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* ,_ArgListconstwchar_t * const* )_Env;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnvp (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnvpe (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* ,_ArgListconstwchar_t * const* )_Env;1385
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnv (int, _Modeconstchar * ,_Filenameconstchar * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnve (int, _Modeconstchar * ,_Filenameconstchar * const* ,_ArgListconstchar * const* )_Env;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnvp (int, _Modeconstchar * ,_Filenameconstchar * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnvpe (int, _Modeconstchar * ,_Filenameconstchar * const* ,_ArgListconstchar * const* )_Env;#






pragmapack ()pop1

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 2 3 28
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 __attribute__
  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)clearerr_s (*FILE )_File;size_t

  __attribute__ (()__cdecl__)fread_s (void* ,_DstBufsize_t, _DstSizesize_t, _ElementSizesize_t, _Count*FILE )_File;471
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 int
  __attribute__ (()__cdecl__)fprintf_s (*FILE ,_Fileconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fscanf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);int
  __attribute__ (()__cdecl__)printf_s (constchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scanf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scanf_s_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_c (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_c (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fscanf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sscanf_l (constchar * ,_Srcconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sscanf_s_l (constchar * ,_Srcconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)sscanf_s (constchar * ,_Srcconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_s (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_l (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_s_l (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);int
  __attribute__ (()__cdecl__)vfprintf_s (*FILE ,_Fileconstchar * ,_Format)va_list _ArgList;int
  __attribute__ (()__cdecl__)vprintf_s (constchar * ,_Format)va_list _ArgList;int

  __attribute__ (()__cdecl__)vsnprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__

  (()dllimport)int __attribute__ (()__cdecl__)vsprintf_s (char* ,_DstBufsize_t, _Sizeconstchar * ,_Format)va_list _ArgList;__attribute__

  (()dllimport)int __attribute__ (()__cdecl__)sprintf_s (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format...);__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format...);__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_p (*FILE ,_Fileconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_p (constchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_p (char* ,_Dstsize_t, _MaxCountconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_p (*FILE ,_Fileconstchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_p (constchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_p (char* ,_Dstsize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_p (constchar * ,_Format...);__attribute__
  (()dllimport)int __attribute__ (()__cdecl__)_vscprintf_p (constchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_p_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_p_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_p_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_p_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_l (char* ,_DstBufconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_p_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_l (char* ,_DstBufconstchar * ,_Format,_locale_t)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_p_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_p_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf_p_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_s_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_s_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_s_l (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_s_l (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_s_l (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_s_l (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_c_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_c_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,,_locale_t _Locale)va_list _ArgList;__attribute__








  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)fopen_s (*FILE *,_Fileconstchar * ,_Filenameconstchar * )_Mode;__attribute__
  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)freopen_s (*FILE*, _Fileconst char * ,_Filenameconst char * ,_Mode* FILE )_Stream;__attribute__

  ( ()__dllimport__)char *__attribute__ (()__cdecl__)gets_s (char*,rsize_t);__attribute__


  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)tmpnam_s (char*,rsize_t);__attribute__





  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_getws_s (wchar_t* ,_Strsize_t) _SizeInWords;739

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 int
  __attribute__ (()__cdecl__)fwprintf_s (*FILE ,_Fileconstwchar_t * ,_Format...);int
  __attribute__ (()__cdecl__)wprintf_s (constwchar_t * ,_Format...);int
  __attribute__ (()__cdecl__)vfwprintf_s (*FILE ,_Fileconstwchar_t * ,_Format)va_list _ArgList;int
  __attribute__ (()__cdecl__)vwprintf_s (constwchar_t * ,_Format)va_list _ArgList;int

  __attribute__ (()__cdecl__)vswprintf_s (wchar_t* ,_Dstsize_t, _SizeInWordsconstwchar_t * ,_Format)va_list _ArgList;int

  __attribute__ (()__cdecl__)swprintf_s (wchar_t* ,_Dstsize_t, _SizeInWordsconstwchar_t * ,_Format...);__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_s (wchar_t* ,_DstBufsize_t, _DstSizeInWordssize_t, _MaxCountconstwchar_t * ,_Format)va_list _ArgList;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_s (wchar_t* ,_DstBufsize_t, _DstSizeInWordssize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__


  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_s_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_s_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizeconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizeconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwscanf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swscanf_s_l (constwchar_t * ,_Srcconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)swscanf_s (constwchar_t * ,_Srcconstwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_s (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_s_l (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wscanf_s_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__







  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wfopen_s (*FILE *,_Fileconstwchar_t * ,_Filenameconstwchar_t * )_Mode;__attribute__
  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wfreopen_s (*FILE *,_Fileconstwchar_t * ,_Filenameconstwchar_t * ,_Mode*FILE )_OldFile;__attribute__

  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wtmpnam_s (wchar_t* ,_DstBufsize_t) _SizeInWords;__attribute__



  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_p (*FILE ,_Fileconstwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_p (constwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_p (*FILE ,_Fileconstwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_p (constwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_p (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__
  (()dllimport)int __attribute__ (()__cdecl__)_vswprintf_p (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_p (constwchar_t * ,_Format...);__attribute__
  (()dllimport)int __attribute__ (()__cdecl__)_vscwprintf_p (constwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_p_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_p_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_c_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_p_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_c_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_p_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)__swprintf_l (wchar_t* ,_Destconstwchar_t * ,_Format,_locale_t _Plocinfo...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)__vswprintf_l (wchar_t* ,_Destconstwchar_t * ,_Format,_locale_t _Plocinfo)va_list _Args;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwscanf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swscanf_l (constwchar_t * ,_Srcconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_l (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wscanf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__





  ( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fread_nolock_s (void* ,_DstBufsize_t, _DstSizesize_t, _ElementSizesize_t, _Count*FILE )_File;1398
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_print_pop.h" 1 3 1400
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 2
# "main.c" 2 3


# "main.c" int
main ()printf {
    ("Hello, World!\n");return
    0 ;}
.

hello.s
	"main.c"file	.
	.text
	;def	__main.	2scl	;.	32type	;.	.endef
	.section ,rdata"dr".
:LC0.
	"Hello, World!."ascii .
	.text
	;globl	main
	.def	main2	;scl	.32	;type	..	:endef
	%seh_proc	main
main.
	pushq	%rbp
	%seh_pushreg	,rbp
	movq	%rsp. %rbp
	,seh_setframe	0rbp32 ,
	subq	$%. 32rsp
	.seh_stackalloc	.
	LC0seh_endprologue
	call	__main
	leaq	(%),rip%0 ,rcx
	call	puts
	movl	$%32 ,eax
	addq	$%% .rsp
	popq	.rbp
	ret
	"GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"seh_endproc
	.ident	;
	.def	puts2	;scl	.32	;type	.:	00endef

hello.o

没找到以二进制文本查看hello.o的办法。

下面是在vscode中使用插件打开的,以十六进制显示并自动生成了一下注解的hello.o文件的内容。

嗯…
咱也看不懂啥意思…

  Offset01 02 03 04 05 06 07 08 09 0 0 0A 0B 0C 0FD 00000000E : 	
6486 07 00 00 00 00 00 00 02 00 00 14 00 00 00 . .    d.............00000010:
0000 04 00 2 74 65E 78 74 00 00 00 00 00 00 00 . .    .....text.....00000020:
0000 00 00 30 00 00 00 2 01 00C 00 01 00 C4 00 . .    ..0...,.....D.00000030:
0000 00 00 03 00 00 00 20 00 50 60 2 64 61E 74 . .    .........00000040P`:dat
6100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    a.............00000050:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000060:
4000 50 2 62 C0 73E 73 00 00 00 00 00 00 00 00 . .    @.P@.bss......00000070:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000080:
0000 00 00 00 00 00 00 80 00 50 2 72 C0 64E 61 . .    .........00000090P@:rda
7461 00 00 00 00 00 00 00 00 00 00 10 00 00 00 . .    ta............000000:
5a001 00C 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    \.............000000:
40b000 50 40 2 78 64E 61 74 61 00 00 00 00 00 00 . .    @.P@.xdata....000000:
00c000 00 00 0 00 00C 00 6 01 00C 00 00 00 00 00 . .    ........l.....000000:
00d000 00 00 00 00 00 00 40 00 30 40 2 70 64E 61 . .    .......0.@000000e0@:pda
7461 00 00 00 00 00 00 00 00 00 00 0 00 00C 00 . .    ta............000000f0
:7801 00 00 01 00 E2 00 00 00 00 00 03 00 00 00 . .    x...b.........00000100:
4000 30 40 2F 34 00 00 00 00 00 00 00 00 00 00 .0 /    @4.@.........00000110:
0000 00 00 40 00 00 00 84 01 00 00 00 00 00 00 . .    ....@.........00000120:
0000 00 00 00 00 00 00 40 00 50 40 55 48 89 . . E5    ........@00000130P@UH:e
4883 20 00 EC 00 E8 00 00 48 8 0 00D 00D 00 00 . .    H.l.h....H....00000140:
0000 E8 00 00 00 00 B8 00 00 48 83 20 5 C4 . .D C3    h..8......H]D00000150:C
9090 90 90 90 90 90 90 90 90 90 90 48 65 6 6 .C .C    ..........00000160:Hell
6F2 20 57C 6F 72 6 64 21C 00 00 00 01 08 03 05 , .    o!.World......00000170:
0832 04 03 01 50 00 00 00 00 00 00 24 00 00 00 .2 .    ....P......$.00000180:
0000 00 00 47 43 43 3 20 28A 78 38 36 5F 36 34 . .    ..:.GCC(00000190:x86_64
270 6FD 73 69 78 2 73 65D 68 2 72 65D 76 30 2 - -C    -posix,seh000001rev0:
20a042 75 69 6 74 20C 62 79 20 4 69 6D 47 57E 2 . .D    .Built-by000001MinGW:
57b036 34 20 70 72 6F 6 65 63A 74 29 20 38 2 31 .E )    W64.8project.1000001:
2c030 00E 00 09 00 00 00 12 00 00 00 04 00 10 00 .0 .    .............000001:
00d000 0 00 00A 00 04 00 15 00 00 00 13 00 00 00 . .    ..............000001e0:
0400 00 00 00 00 04 00 00 00 03 00 04 00 00 00 . .    ..............000001f0
:0400 00 00 03 00 08 00 00 00 0 00 00C 00 03 00 . .    ..............00000200:
266 69E 6 65 00C 00 00 00 00 00 00 00 00 FE FF . .    .file.....~...00000210:
6701 6 61 69D 6 2 63E 00E 00 00 00 00 00 00 00 . .    g.main.c......00000220:
0000 00 00 6 61 69D 6 00 00E 00 00 00 00 00 00 . .    ....main......00000230:
0100 20 00 02 01 00 00 00 00 00 00 00 00 00 00 . .    ..............00000240:
0000 00 00 00 00 00 00 2 74 65E 78 74 00 00 00 . .    .........text.00000250:
0000 00 00 01 00 00 00 03 01 24 00 00 00 03 00 . .    ..........$...00000260:
0000 00 00 00 00 00 00 00 00 00 00 2 64 61E 74 . .    ...........00000270:dat
6100 00 00 00 00 00 00 02 00 00 00 03 01 00 00 . .    a.............00000280:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000290:
262 73E 73 00 00 00 00 00 00 00 00 03 00 00 00 . .    .bss..........000002:
03a001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............000002:
00b000 00 00 2 72 64E 61 74 61 00 00 00 00 00 00 . .    .....rdata....000002:
04c000 00 00 03 01 0 00 00E 00 00 00 00 00 00 00 . .    ..............000002:
00d000 00 00 00 00 00 00 2 78 64E 61 74 61 00 00 . .    .........xdata000002e0:
0000 00 00 05 00 00 00 03 01 0 00 00C 00 00 00 . .    ..............000002f0
:0000 00 00 00 00 00 00 00 00 00 00 2 70 64E 61 . .    ...........00000300:pda
7461 00 00 00 00 00 00 06 00 00 00 03 01 0 00 .C .    ta............00000310:
0000 03 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000320:
0000 00 00 0F 00 00 00 00 00 00 00 07 00 00 00 . .    ..............00000330:
0301 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ?.............00000340:
0000 00 00 5F 5F 6 61 69D 6 00 00E 00 00 00 00 . .    ....__main....00000350:
0000 20 00 02 00 70 75 74 73 00 00 00 00 00 00 . .    ......puts....00000360:
0000 00 00 20 00 02 00 1 00 00A 00 2 72 64E 61 . .    ...........00000370:rda
7461 24 7 7 7A 00A 2A 72 64E 61 74 61 24 7 7 .A .A    ta$zzz00000380:rdata$zz
700 .A                                               z[+++]


  1. CPU输入端:是信号进入CPU的起点。物质上:CPU的组成中有这样一组这样门,门的输入端专门和外部连接,从外部获取信号(指令和数据)。
    CPU输出端:是信号在CPU中传递的终点。物质上:CPU的组成中有这样一组这样门,门的输出端专门和外部连接,CPU运行的结果以电平信号写在该端口,被外界读取。 ↩︎

  2. 对CPU读写:要么写高电平,要么写低电平,端口只有这两种状态。 ↩︎

  3. 机器码:一组序列,序列中只包含0和1,能够直接被CPU使用。为什么只包含0和1?因为序列中的每个0和1都对应着一个输入端口的电平状态,1代表高电平,0代表低电平。
    总结一下:端口拥有状态的数量,决定机器码包含多少种状态。传说中的量子/光子计算机每个光子拥有多个状态,量子计算机的机器码就就有可能包含3,4,5… ↩︎

  4. 仅个人学习笔记,肯定有些理解不到位的地方,读者见谅哈!真错了欢迎指正,一起学习一起进步,那种扯淡、吵架、秀优越的就别打字了… ↩︎

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
1-1-2 编译过程_java_内存溢出

1-1-2 编译过程

1-1-2 编译过程,第1张

编译过程
  • 复习上一章节
  • 编译过程
    • 1.==预编译==阶段
    • 2. ==编译==阶段
    • 3. ==汇编==阶段
    • 4. ==链接==阶段
  • 源码
    • hello.c
    • hello.i
    • hello.s
    • hello.o

复习上一章节
  • 门:让电流通过或截至
  • 设计CPU的秘诀:使用门规划了信号在CPU输入端到输出端之间的传播路径,使得输出成为输入的数学解。
  • 使用CPU的方法:向CPU输入端1 (一组门的输入端)写电平信号2,CPU运算后,从CPU的输出端(一组门的输出端)读电平信号。
编译过程

为什么要编译?

因为CPU能够直接执行的是机器码3,需要把c代码转换成机器码。
现在我的硬盘上有一个c文件 hello.c

存放了这样一段源码

#include 

int main() 
{
	printf("hello,world\n");
	return 0;
}

要执行这样一段程序,需要一下几个步骤:

1.预编译阶段

这一时期编译器完成头文件插入,宏替换,生成文件hello.i

hello.i中的内容依然是c代码。

源码已粘贴到文末(足有800多行)

#开头的语句是预编译指令


 #include  // 就是一句预编译指令:告诉编译器在预编译时期使用stdio.h中的内容粘贴到此处
 
2. 编译阶段

编译器将hello.i中的c代码翻译成汇编代码,生成汇编文件hello.s

源码已粘贴到文末

//汇编代码
	.file	"main.c"
	.text
	.def	__main;	.scl	2;	.type	32;	.endef
	.section .rdata,"dr"
.LC0:
	.ascii "Hello, World!."
	.text
	.globl	main
	;def	main.	2scl	;.	32type	;.	.endef
	:seh_proc	main
main%
	pushq	.rbp
	%seh_pushreg	%rbp
	movq	,rsp% .rbp
	%seh_setframe	,rbp0 32
	subq	$,% .rsp
	32seh_stackalloc	.
	.seh_endprologue
	call	__main
	leaq	LC0(%)rip,% 0rcx
	call	puts
	movl	$,% 32eax
	addq	$,% %rsp
	popq	.rbp
	ret
	.seh_endproc
	"GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"ident	.
	;def	puts.	2scl	;.	32type	;.	汇编endef

3. 4阶段

编译器将汇编代码翻译成机器码,生成机器码/二进制文件hello.o

为什是二进制文件呢?
个人理解链接
因为我们的计算机的的输出输出端口只有两个状态,对应的机器码也是两个状态,就是二进制的咯。

4. #阶段

hello.o中并不包含程序运行所需的所有二进制文件,因为我们在源码中使用了printf函数,而我们的源码中并不包含printf函数的实现。

printf函数的声明在stdio.h中。预编译期间stdio.h的内容被包含到hello.c中,因此printf函数的声明也被包含到hello.c中,所以编译hello.c时才没有报错“找不到printf函数”。

printf函数存在于一个名为printf.o的单独的预编译好的二进制文件中,在链接步骤编译器将hello.o与printf.o合并在一起生成可执行程序hello或者hello.exe。

我靠,61KB,这么大!

有些编译器可能不会产生那么多中间文件,将预编译、编译和汇编合为一步生成.o文件。

源码 hello.c
includeint 

main ()printf 
{
	("hello,world\n");return
	0 ;}
1
hello.i
# "main.c" 1
# 1 ""
# 1 ""
# "main.c" 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 1 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 12
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 1 3 98
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 107
            
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 13
            
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_secapi.h" 1 3 14
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 282
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 578
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_directx.h" 1 3 579
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h" 1 3 580
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 2 3 #




pragmapack (,push)_CRT_PACKING24
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 24
  
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 typedef
; __builtin_va_list __gnuc_va_listtypedef






  ; __gnuc_va_list va_list103
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 #
pragmapack ()pop283
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 552
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 void
__attribute__ (()__cdecl__)__debugbreak (void);extern
__attribute__ __inline__ ((,__always_inline__)__gnu_inline__)void __attribute__ (()__cdecl__)__debugbreak (void)__volatile__
{
  __asm__ ("int {$}3":);}
const




char * __mingw_get_crt_info( void);11
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 2 3 #




pragmapack (,push)_CRT_PACKING35
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ unsigned long long size_t ;45
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long ssize_t ;typedef






size_t rsize_t ;62
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long intptr_t ;75
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ unsigned long long uintptr_t ;88
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long ptrdiff_t ;98
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
unsigned short wchar_t ;typedef







unsigned short wint_t ;typedef
unsigned short wctype_t ;typedef





int errno_t ;typedef




long ; __time32_ttypedef




__extension__ long long ; __time64_t138
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
time_t __time64_t ;422
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 struct
threadlocaleinfostruct ;struct
threadmbcinfostruct ;typedef
struct threadlocaleinfostruct * ;pthreadlocinfotypedef
struct threadmbcinfostruct * ;pthreadmbcinfostruct
__lc_time_data ;typedef

struct localeinfo_struct ; {
  pthreadlocinfo locinfo;
  pthreadmbcinfo mbcinfo}
, _locale_tstruct*;_locale_ttypedef



struct tagLC_ID unsigned {
  short ; wLanguageunsigned
  short ; wCountryunsigned
  short ; wCodePage}
, LC_ID*;LPLC_IDtypedef




struct threadlocaleinfostruct int {
  ; refcountunsigned
  int ; lc_codepageunsigned
  int ; lc_collate_cpunsigned
  long [ lc_handle6];[
  LC_ID lc_id6];struct
  char {
    * ;localewchar_t
    * ;wlocaleint
    * ;refcountint
    * ;wrefcount}
  [ lc_category6];int
  ; lc_clikeint
  ; mb_cur_maxint
  * ;lconv_intl_refcountint
  * ;lconv_num_refcountint
  * ;lconv_mon_refcountstruct
  lconv * ;lconvint
  * ;ctype1_refcountunsigned
  short * ;ctype1const
  unsigned short * ;pctypeconst
  unsigned char * ;pclmapconst
  unsigned char * ;pcumapstruct
  __lc_time_data * ;lc_time_curr}
; threadlocinfo#







pragmapack ()pop10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_print_push.h" 1 3 12
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 #

pragmapack (,push)_CRT_PACKING26
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 struct
  _iobuf char {
    * ;_ptrint
    ; _cntchar
    * ;_baseint
    ; _flagint
    ; _fileint
    ; _charbufint
    ; _bufsizchar
    * ;_tmpfname}
  ;typedef
  struct _iobuf ; FILE80
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 1 3 typedef




  long ; _off_ttypedef

  long off32_t ;typedef





  __extension__ long long ; _off64_ttypedef

  __extension__ long long off64_t ;26
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 3 typedef
off32_t off_t ;81
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 __attribute__

( ()__dllimport__)* FILE __attribute__(()__cdecl__)__acrt_iob_func (unsigned) index;__attribute__


  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)__iob_func (void);104
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 typedef
  __extension__ long long fpos_t ;162
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 extern
__attribute__
  ((__format__( ,gnu_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_sscanf (constchar * , __restrict__ _Srcconstchar * , __restrict__ _Format...);extern
__attribute__
  ((__format__( ,gnu_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vsscanf ( constchar * , __restrict__ _Strconstchar * , __restrict__ Format)va_list argp;extern
__attribute__
  ((__format__( ,gnu_scanf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_scanf (constchar * , __restrict__ _Format...);extern
__attribute__
  ((__format__( ,gnu_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vscanf (constchar * , __restrict__ Format) va_list argp;extern
__attribute__
  ((__format__( ,gnu_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fscanf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...);extern
__attribute__
  ((__format__( ,gnu_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfscanf ( *FILE , __restrict__ fpconst char * , __restrict__ Format)va_list argp;extern

__attribute__
  ((__format__( ,gnu_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_vsnprintf (char* , __restrict__ _DstBufsize_t, _MaxCountconstchar * , __restrict__ _Format)
                              va_list _ArgList;extern
__attribute__
  ((__format__( ,gnu_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_snprintf (char* , __restrict__ ssize_t , nconst char * , __restrict__ format. ..);extern
__attribute__
  ((__format__( ,gnu_printf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_printf (constchar * , __restrict__ . ..) __attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vprintf ( constchar * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fprintf ( *FILE , __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfprintf ( *FILE , __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_sprintf ( char* , __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vsprintf ( char* , __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,3 )))__attribute__ ((nonnull( 1,2)))int
  __attribute__ (()__cdecl__)__mingw_asprintf (char* *, __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
  ((__format__( ,gnu_printf2 ,0 )))__attribute__ ((nonnull( 1,2)))int
  __attribute__ (()__cdecl__)__mingw_vasprintf (char* *, __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);506
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ((__format__( ,ms_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)fprintf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...);__attribute__
  ((__format__( ,ms_printf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)printf (constchar * , __restrict__ _Format...);__attribute__
  ((__format__( ,ms_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)sprintf (char* , __restrict__ _Destconstchar * , __restrict__ _Format...); __attribute__

  ((__format__( ,ms_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)vfprintf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format)va_list _ArgList;__attribute__
  ((__format__( ,ms_printf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)vprintf (constchar * , __restrict__ _Format)va_list _ArgList;__attribute__
  ((__format__( ,ms_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)vsprintf (char* , __restrict__ _Destconstchar * , __restrict__ _Format)va_list _Args; __attribute__

  ((__format__( ,ms_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)fscanf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...); __attribute__
  ((__format__( ,ms_scanf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)scanf (constchar * , __restrict__ _Format...); __attribute__
  ((__format__( ,ms_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)sscanf (constchar * , __restrict__ _Srcconstchar * , __restrict__ _Format...); #






pragmaGCC diagnostic push #
pragmaGCC diagnostic ignored  "-Wshadow"__attribute__


  ((__format__( ,ms_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__ms_vscanf (constchar * , __restrict__ Format) va_list argp;__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__ms_vfscanf ( *FILE , __restrict__ fpconst char * , __restrict__ Format)va_list argp;__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__ms_vsscanf ( constchar * , __restrict__ _Strconstchar * , __restrict__ Format)va_list argp;static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  vfscanf ( *FILE ,__streamconst char * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vfscanf ( ,__stream, __format) __local_argv;}
  static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
  vsscanf ( constchar * , __restrict__ __sourceconst char * , __restrict__ __format) __builtin_va_list __local_argvreturn
  {
    __ms_vsscanf (, __source, __format) __local_argv ;}
  static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
  vscanf (constchar * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vscanf ( ,__format) __local_argv;}
  #


pragmaGCC diagnostic pop __attribute__






  ( ()__dllimport__)int __attribute__ (()__cdecl__)_filbuf (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_flsbuf (int, _Ch*FILE )_File;__attribute__



  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_fsopen (constchar * ,_Filenameconstchar * ,_Modeint) _ShFlag;void

  __attribute__ (()__cdecl__)clearerr (*FILE )_File;int
  __attribute__ (()__cdecl__)fclose (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fcloseall (void);__attribute__



  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_fdopen (int, _FileHandleconstchar * )_Mode;int

  __attribute__ (()__cdecl__)feof (*FILE )_File;int
  __attribute__ (()__cdecl__)ferror (*FILE )_File;int
  __attribute__ (()__cdecl__)fflush (*FILE )_File;int
  __attribute__ (()__cdecl__)fgetc (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fgetchar (void);int
  __attribute__ (()__cdecl__)fgetpos (*FILE , __restrict__ _File fpos_t* ) __restrict__ _Pos;int
  __attribute__ (()__cdecl__)fgetpos64 (*FILE , __restrict__ _File fpos_t* ) __restrict__ _Pos;char
  * __attribute__(()__cdecl__)fgets (char* , __restrict__ _Bufint, _MaxCount*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fileno (*FILE )_File;__attribute__



  ( ()__dllimport__)char * __attribute__(()__cdecl__)_tempnam (constchar * ,_DirNameconstchar * )_FilePrefix;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_flushall (void);*
  FILE __attribute__(()__cdecl__)fopen (constchar * , __restrict__ _Filenameconstchar * ) __restrict__ _Mode; *
  FILE fopen64(constchar * , __restrict__ filenameconstchar * ) __restrict__ mode;int
  __attribute__ (()__cdecl__)fputc (int, _Ch*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fputchar (int) _Ch;int
  __attribute__ (()__cdecl__)fputs (constchar * , __restrict__ _Str*FILE ) __restrict__ _File;size_t
  __attribute__ (()__cdecl__)fread (void* , __restrict__ _DstBufsize_t, _ElementSizesize_t, _Count*FILE ) __restrict__ _File;*
  FILE __attribute__(()__cdecl__)freopen (constchar * , __restrict__ _Filenameconstchar * , __restrict__ _Mode*FILE ) __restrict__ _File; int
  __attribute__ (()__cdecl__)fsetpos (*FILE ,_Fileconstfpos_t * )_Pos;int
  __attribute__ (()__cdecl__)fsetpos64 (*FILE ,_Fileconstfpos_t * )_Pos;int
  __attribute__ (()__cdecl__)fseek (*FILE ,_Filelong, _Offsetint) _Origin;long
  __attribute__ (()__cdecl__)ftell (*FILE )_File;631
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
  __extension__ __attribute__ (()__cdecl__)_fseeki64 (*FILE ,_Filelonglong , _Offsetint) _Origin;long
  __extension__ long __attribute__ (()__cdecl__)_ftelli64 (*FILE )_File;int
  fseeko64 (*FILE, stream, _off64_t offsetint ) whence;int
  fseeko (*FILE, stream, _off_t offsetint ) whence;ftello

  _off_t (*FILE ) stream;ftello64
  _off64_t (*FILE ) stream;654
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 size_t
  __attribute__ (()__cdecl__)fwrite (constvoid * , __restrict__ _Strsize_t, _Sizesize_t, _Count*FILE ) __restrict__ _File;int
  __attribute__ (()__cdecl__)getc (*FILE )_File;int
  __attribute__ (()__cdecl__)getchar (void);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_getmaxstdio (void);char
  * __attribute__(()__cdecl__)gets (char* )_Buffer; int
  __attribute__ (()__cdecl__)_getw (*FILE )_File;void


  __attribute__ (()__cdecl__)perror (constchar * )_ErrMsg;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_pclose (*FILE )_File;__attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_popen (constchar * ,_Commandconstchar * )_Mode;int




  __attribute__ (()__cdecl__)putc (int, _Ch*FILE )_File;int
  __attribute__ (()__cdecl__)putchar (int) _Ch;int
  __attribute__ (()__cdecl__)puts (constchar * )_Str;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_putw (int, _Word*FILE )_File;int


  __attribute__ (()__cdecl__)remove (constchar * )_Filename;int
  __attribute__ (()__cdecl__)rename (constchar * ,_OldFilenameconstchar * )_NewFilename;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_unlink (constchar * )_Filename;int

  __attribute__ (()__cdecl__)unlink (constchar * )_Filename; void


  __attribute__ (()__cdecl__)rewind (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_rmtmp (void);void
  __attribute__ (()__cdecl__)setbuf (*FILE , __restrict__ _Filechar* ) __restrict__ _Buffer; __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_setmaxstdio (int) _Max;__attribute__
  ( ()__dllimport__)unsigned int __attribute__ (()__cdecl__)_set_output_format (unsignedint ) _Format;__attribute__
  ( ()__dllimport__)unsigned int __attribute__ (()__cdecl__)_get_output_format (void);int
  __attribute__ (()__cdecl__)setvbuf (*FILE , __restrict__ _Filechar* , __restrict__ _Bufint, _Modesize_t) _Size;712
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf (constchar * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf (constchar * , __restrict__ _Srcsize_t, _MaxCountconstchar * , __restrict__ _Format...); *

  FILE __attribute__(()__cdecl__)tmpfile (void); char
  * __attribute__(()__cdecl__)tmpnam (char* )_Buffer;int
  __attribute__ (()__cdecl__)ungetc (int, _Ch*FILE )_File;734
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf (char* , __restrict__ _Destsize_t, _Countconstchar * , __restrict__ _Format...); __attribute__
  ((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf (char* , __restrict__ _Destsize_t, _Countconstchar * , __restrict__ _Format)va_list _Args; 761
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 #
pragmaGCC diagnostic push #
pragmaGCC diagnostic ignored  "-Wshadow"__attribute__


      
      


  ((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__ms_vsnprintf (char* , __restrict__ dsize_t, nconstchar * , __restrict__ format)va_list arg;
    static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
  vsnprintf ( char* , __restrict__ __streamsize_t , __nconst char * , __restrict__ __format) va_list __local_argvreturn
  {
    __ms_vsnprintf ( ,__stream, __n, __format) __local_argv;}
  __attribute__

  ((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__ms_snprintf (char* , __restrict__ ssize_t , nconst char * , __restrict__ format. ..);static


__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
snprintf ( char* , __restrict__ __streamsize_t , __nconst char * , __restrict__ __format. ..)int
{
  ; __retval;
  __builtin_va_list __local_argv__builtin_va_start (, __local_argv) __format ;=
  __retval __ms_vsnprintf ( ,__stream, __n, __format) __local_argv;__builtin_va_end
  () __local_argv ;return
  ; __retval}
#


      
      

pragmaGCC diagnostic pop 811
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf (constchar * , __restrict__ _Format)va_list _ArgList;__attribute__


  ( ()__dllimport__)int __attribute__ (()__cdecl__)_set_printf_count_output (int) _Value;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_get_printf_count_output (void);__attribute__




                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_swscanf (constwchar_t * , __restrict__ _Srcconstwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vswscanf ( constwchar_t * , __restrict__ _Strconstwchar_t * , __restrict__ Format)va_list argp;__attribute__
                                                    ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_wscanf (constwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vwscanf (constwchar_t * , __restrict__ Format) va_list argp;__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fwscanf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfwscanf ( *FILE , __restrict__ fpconst wchar_t * , __restrict__ Format)va_list argp;__attribute__

                                                      ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_fwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);__attribute__
                                                      ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_wprintf (constwchar_t * , __restrict__ _Format...);__attribute__
                                                    ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vfwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
                                                    ( (__nonnull__( 1)))int
  __attribute__ (()__cdecl__)__mingw_vwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
                                                      ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..);__attribute__
                                                      ( (__nonnull__( 3)))int
  __attribute__ (()__cdecl__)__mingw_vsnwprintf ( wchar_t* , __restrict__ size_t ,const wchar_t * , __restrict__ ) va_list;__attribute__
                                                      ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_swprintf (wchar_t* , __restrict__ const wchar_t * , __restrict__ . ..);__attribute__
                                                      ( (__nonnull__( 2)))int
  __attribute__ (()__cdecl__)__mingw_vswprintf (wchar_t* , __restrict__ const wchar_t * , __restrict__ )va_list;1061
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
  __attribute__ (()__cdecl__)fwscanf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...); int
  __attribute__ (()__cdecl__)swscanf (constwchar_t * , __restrict__ _Srcconstwchar_t * , __restrict__ _Format...); int
  __attribute__ (()__cdecl__)wscanf (constwchar_t * , __restrict__ _Format...); int

  __attribute__ (()__cdecl__)__ms_vwscanf ( constwchar_t * , __restrict__ ) va_list;int
  __attribute__ (()__cdecl__)__ms_vfwscanf ( *FILE , __restrict__ constwchar_t * , __restrict__ )va_list;int
  __attribute__ (()__cdecl__)__ms_vswscanf ( constwchar_t * , __restrict__ constwchar_t * , __restrict__ )va_list;static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ( (__nonnull__( 2)))int
  vfwscanf ( *FILE ,__streamconst wchar_t * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vfwscanf ( ,__stream, __format) __local_argv;}
  static

  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ( (__nonnull__( 2)))int
  vswscanf ( constwchar_t * , __restrict__ __sourceconst wchar_t * , __restrict__ __format) __builtin_va_list __local_argvreturn
  {
    __ms_vswscanf (, __source, __format) __local_argv ;}
  static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
  ( (__nonnull__( 1)))int
  vwscanf (constwchar_t * ,__format) __builtin_va_list __local_argvreturn
  {
    __ms_vwscanf ( ,__format) __local_argv;}
  int



  __attribute__ (()__cdecl__)fwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);int
  __attribute__ (()__cdecl__)wprintf (constwchar_t * , __restrict__ _Format...);int
  __attribute__ (()__cdecl__)vfwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format)va_list _ArgList;int
  __attribute__ (()__cdecl__)vwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;1105
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfsopen (constwchar_t * ,_Filenameconstwchar_t * ,_Modeint) _ShFlag;wint_t


  __attribute__ (()__cdecl__)fgetwc (*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fgetwchar (void);wint_t
  __attribute__ (()__cdecl__)fputwc (wchar_t, _Ch*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fputwchar (wchar_t) _Ch;wint_t
  __attribute__ (()__cdecl__)getwc (*FILE )_File;wint_t
  __attribute__ (()__cdecl__)getwchar (void);wint_t
  __attribute__ (()__cdecl__)putwc (wchar_t, _Ch*FILE )_File;wint_t
  __attribute__ (()__cdecl__)putwchar (wchar_t) _Ch;wint_t
  __attribute__ (()__cdecl__)ungetwc (wint_t, _Ch*FILE )_File;wchar_t
  * __attribute__(()__cdecl__)fgetws (wchar_t* , __restrict__ _Dstint, _SizeInWords*FILE ) __restrict__ _File;int
  __attribute__ (()__cdecl__)fputws (constwchar_t * , __restrict__ _Str*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_getws (wchar_t* )_String; __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_putws (constwchar_t * )_Str;1183
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf (constwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_c (wchar_t* , __restrict__ _DstBufsize_t, _SizeInWordsconstwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_c (wchar_t* , __restrict__ _DstBufsize_t, _SizeInWordsconstwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf (wchar_t* , __restrict__ _Destsize_t, _Countconstwchar_t * , __restrict__ _Format...); __attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf (wchar_t* , __restrict__ _Destsize_t, _Countconstwchar_t * , __restrict__ _Format)va_list _Args; int




      
      


  __attribute__ (()__cdecl__)__ms_snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..);int
  __attribute__ (()__cdecl__)__ms_vsnwprintf ( wchar_t* , __restrict__ size_t ,const wchar_t * , __restrict__ ) va_list;static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)int
  snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..)int
  {
    ; r;
    va_list argp__builtin_va_start
    ( ,argp) format;=
    r _vsnwprintf ( ,s, n, format) argp;__builtin_va_end
    ( )argp;return
    ; r}
  static
  __attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)int
  __attribute__ (()__cdecl__)vsnwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format) va_list argreturn
  {
    _vsnwprintf (,s,n,format)arg;}
  __attribute__
      
      



  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf (wchar_t* , __restrict__ _Destconstwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf (wchar_t* , __restrict__ _Destconstwchar_t * , __restrict__ _Format)va_list _Args;1



# "C:/MCU/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 1 3 25
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 3 static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
                                                      ( (__nonnull__( 3)))int
vswprintf ( wchar_t* ,__streamsize_t , __countconst wchar_t * ,__format) __builtin_va_list __local_argvreturn
{
  vsnwprintf (, __stream, __count, __format) __local_argv ;}
static

__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
                                                      ( (__nonnull__( 3)))int
swprintf ( wchar_t* ,__streamsize_t , __countconst wchar_t * ,__format. ..)int
{
  ; __retval;
  __builtin_va_list __local_argv__builtin_va_start

  (, __local_argv) __format ;=
  __retval vswprintf (, __stream, __count, __format) __local_argv ;__builtin_va_end
  () __local_argv ;return
  ; __retval}
1224
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1233
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_wtempnam (constwchar_t * ,_Directoryconstwchar_t * )_FilePrefix;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf (constwchar_t * , __restrict__ _Srcsize_t, _MaxCountconstwchar_t * , __restrict__ _Format...);__attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfdopen (int, _FileHandle constwchar_t * )_Mode;__attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfopen (constwchar_t * , __restrict__ _Filenameconstwchar_t * )__restrict__ _Mode; __attribute__
  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfreopen (constwchar_t * , __restrict__ _Filenameconstwchar_t * , __restrict__ _Mode*FILE ) __restrict__ _OldFile; __attribute__



  ( ()__dllimport__)void __attribute__ (()__cdecl__)_wperror (constwchar_t * )_ErrMsg;__attribute__

  ( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wpopen (constwchar_t * ,_Commandconstwchar_t * )_Mode;__attribute__




  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wremove (constwchar_t * )_Filename;__attribute__
  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_wtmpnam (wchar_t* )_Buffer;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fgetwc_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fputwc_nolock (wchar_t, _Ch*FILE )_File;__attribute__
  ( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_ungetwc_nolock (wint_t, _Ch*FILE )_File;1290
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)void __attribute__ (()__cdecl__)_lock_file (*FILE )_File;__attribute__
  ( ()__dllimport__)void __attribute__ (()__cdecl__)_unlock_file (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fclose_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fflush_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fread_nolock (void* , __restrict__ _DstBufsize_t, _ElementSizesize_t, _Count*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fseek_nolock (*FILE ,_Filelong, _Offsetint) _Origin;__attribute__
  ( ()__dllimport__)long __attribute__ (()__cdecl__)_ftell_nolock (*FILE )_File;__attribute__
  __extension__ ( ()__dllimport__)int __attribute__ (()__cdecl__)_fseeki64_nolock (*FILE ,_Filelonglong , _Offsetint) _Origin;__attribute__
  __extension__ ( ()__dllimport__)long long __attribute__ (()__cdecl__)_ftelli64_nolock (*FILE )_File;__attribute__
  ( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fwrite_nolock (constvoid * , __restrict__ _DstBufsize_t, _Sizesize_t, _Count*FILE ) __restrict__ _File;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_ungetc_nolock (int, _Ch*FILE )_File;char





  * __attribute__(()__cdecl__)tempnam (constchar * ,_Directoryconstchar * )_FilePrefix; int
  __attribute__ (()__cdecl__)fcloseall (void); *
  FILE __attribute__(()__cdecl__)fdopen (int, _FileHandleconstchar * )_Format; int
  __attribute__ (()__cdecl__)fgetchar (void); int
  __attribute__ (()__cdecl__)fileno (*FILE )_File; int
  __attribute__ (()__cdecl__)flushall (void); int
  __attribute__ (()__cdecl__)fputchar (int) _Ch; int
  __attribute__ (()__cdecl__)getw (*FILE )_File; int
  __attribute__ (()__cdecl__)putw (int, _Ch*FILE )_File; int
  __attribute__ (()__cdecl__)rmtmp (void); 1332
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__attribute__ (()__cdecl__)__mingw_str_wide_utf8 ( constwchar_t * const , wptrchar * *,mbptrsize_t * ) buflen;1346
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__attribute__ (()__cdecl__)__mingw_str_utf8_wide ( constchar * const, mbptrwchar_t * *, wptrsize_t * ) buflen;1355
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 void
__attribute__ (()__cdecl__)__mingw_str_free (void* )ptr;__attribute__





  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnl (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnle (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnlp (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnlpe (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnv (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnve (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* ,_ArgListconstwchar_t * const* )_Env;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnvp (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnvpe (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* ,_ArgListconstwchar_t * const* )_Env;1385
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnv (int, _Modeconstchar * ,_Filenameconstchar * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnve (int, _Modeconstchar * ,_Filenameconstchar * const* ,_ArgListconstchar * const* )_Env;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnvp (int, _Modeconstchar * ,_Filenameconstchar * const* )_ArgList;__attribute__
  ( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnvpe (int, _Modeconstchar * ,_Filenameconstchar * const* ,_ArgListconstchar * const* )_Env;#






pragmapack ()pop1

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 2 3 28
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 __attribute__
  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)clearerr_s (*FILE )_File;size_t

  __attribute__ (()__cdecl__)fread_s (void* ,_DstBufsize_t, _DstSizesize_t, _ElementSizesize_t, _Count*FILE )_File;471
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 int
  __attribute__ (()__cdecl__)fprintf_s (*FILE ,_Fileconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fscanf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);int
  __attribute__ (()__cdecl__)printf_s (constchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scanf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scanf_s_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_c (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_c (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fscanf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sscanf_l (constchar * ,_Srcconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sscanf_s_l (constchar * ,_Srcconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)sscanf_s (constchar * ,_Srcconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_s (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_l (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_s_l (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);int
  __attribute__ (()__cdecl__)vfprintf_s (*FILE ,_Fileconstchar * ,_Format)va_list _ArgList;int
  __attribute__ (()__cdecl__)vprintf_s (constchar * ,_Format)va_list _ArgList;int

  __attribute__ (()__cdecl__)vsnprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__

  (()dllimport)int __attribute__ (()__cdecl__)vsprintf_s (char* ,_DstBufsize_t, _Sizeconstchar * ,_Format)va_list _ArgList;__attribute__

  (()dllimport)int __attribute__ (()__cdecl__)sprintf_s (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format...);__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format...);__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_p (*FILE ,_Fileconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_p (constchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_p (char* ,_Dstsize_t, _MaxCountconstchar * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_p (*FILE ,_Fileconstchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_p (constchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_p (char* ,_Dstsize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_p (constchar * ,_Format...);__attribute__
  (()dllimport)int __attribute__ (()__cdecl__)_vscprintf_p (constchar * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_p_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_p_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_p_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_p_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_l (char* ,_DstBufconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_p_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_l (char* ,_DstBufconstchar * ,_Format,_locale_t)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_p_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_p_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf_p_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_s_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_s_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_s_l (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_s_l (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_s_l (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_s_l (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_c_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_c_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,,_locale_t _Locale)va_list _ArgList;__attribute__








  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)fopen_s (*FILE *,_Fileconstchar * ,_Filenameconstchar * )_Mode;__attribute__
  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)freopen_s (*FILE*, _Fileconst char * ,_Filenameconst char * ,_Mode* FILE )_Stream;__attribute__

  ( ()__dllimport__)char *__attribute__ (()__cdecl__)gets_s (char*,rsize_t);__attribute__


  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)tmpnam_s (char*,rsize_t);__attribute__





  ( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_getws_s (wchar_t* ,_Strsize_t) _SizeInWords;739

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 int
  __attribute__ (()__cdecl__)fwprintf_s (*FILE ,_Fileconstwchar_t * ,_Format...);int
  __attribute__ (()__cdecl__)wprintf_s (constwchar_t * ,_Format...);int
  __attribute__ (()__cdecl__)vfwprintf_s (*FILE ,_Fileconstwchar_t * ,_Format)va_list _ArgList;int
  __attribute__ (()__cdecl__)vwprintf_s (constwchar_t * ,_Format)va_list _ArgList;int

  __attribute__ (()__cdecl__)vswprintf_s (wchar_t* ,_Dstsize_t, _SizeInWordsconstwchar_t * ,_Format)va_list _ArgList;int

  __attribute__ (()__cdecl__)swprintf_s (wchar_t* ,_Dstsize_t, _SizeInWordsconstwchar_t * ,_Format...);__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_s (wchar_t* ,_DstBufsize_t, _DstSizeInWordssize_t, _MaxCountconstwchar_t * ,_Format)va_list _ArgList;__attribute__

  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_s (wchar_t* ,_DstBufsize_t, _DstSizeInWordssize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__


  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_s_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_s_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizeconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizeconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwscanf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swscanf_s_l (constwchar_t * ,_Srcconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)swscanf_s (constwchar_t * ,_Srcconstwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_s (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_s_l (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wscanf_s_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__







  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wfopen_s (*FILE *,_Fileconstwchar_t * ,_Filenameconstwchar_t * )_Mode;__attribute__
  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wfreopen_s (*FILE *,_Fileconstwchar_t * ,_Filenameconstwchar_t * ,_Mode*FILE )_OldFile;__attribute__

  ( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wtmpnam_s (wchar_t* ,_DstBufsize_t) _SizeInWords;__attribute__



  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_p (*FILE ,_Fileconstwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_p (constwchar_t * ,_Format...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_p (*FILE ,_Fileconstwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_p (constwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_p (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__
  (()dllimport)int __attribute__ (()__cdecl__)_vswprintf_p (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_p (constwchar_t * ,_Format...);__attribute__
  (()dllimport)int __attribute__ (()__cdecl__)_vscwprintf_p (constwchar_t * ,_Format)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_p_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_p_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_c_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_p_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_c_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_p_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)__swprintf_l (wchar_t* ,_Destconstwchar_t * ,_Format,_locale_t _Plocinfo...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)__vswprintf_l (wchar_t* ,_Destconstwchar_t * ,_Format,_locale_t _Plocinfo)va_list _Args;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_fwscanf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_swscanf_l (constwchar_t * ,_Srcconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_l (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
  ( ()__dllimport__)int __attribute__ (()__cdecl__)_wscanf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__





  ( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fread_nolock_s (void* ,_DstBufsize_t, _DstSizesize_t, _ElementSizesize_t, _Count*FILE )_File;1398
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1

# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_print_pop.h" 1 3 1400
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 2
# "main.c" 2 3


# "main.c" int
main ()printf {
    ("Hello, World!\n");return
    0 ;}
.

hello.s
	"main.c"file	.
	.text
	;def	__main.	2scl	;.	32type	;.	.endef
	.section ,rdata"dr".
:LC0.
	"Hello, World!."ascii .
	.text
	;globl	main
	.def	main2	;scl	.32	;type	..	:endef
	%seh_proc	main
main.
	pushq	%rbp
	%seh_pushreg	,rbp
	movq	%rsp. %rbp
	,seh_setframe	0rbp32 ,
	subq	$%. 32rsp
	.seh_stackalloc	.
	LC0seh_endprologue
	call	__main
	leaq	(%),rip%0 ,rcx
	call	puts
	movl	$%32 ,eax
	addq	$%% .rsp
	popq	.rbp
	ret
	"GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"seh_endproc
	.ident	;
	.def	puts2	;scl	.32	;type	.:	00endef

hello.o

没找到以二进制文本查看hello.o的办法。

下面是在vscode中使用插件打开的,以十六进制显示并自动生成了一下注解的hello.o文件的内容。

嗯…
咱也看不懂啥意思…

  Offset01 02 03 04 05 06 07 08 09 0 0 0A 0B 0C 0FD 00000000E : 	
6486 07 00 00 00 00 00 00 02 00 00 14 00 00 00 . .    d.............00000010:
0000 04 00 2 74 65E 78 74 00 00 00 00 00 00 00 . .    .....text.....00000020:
0000 00 00 30 00 00 00 2 01 00C 00 01 00 C4 00 . .    ..0...,.....D.00000030:
0000 00 00 03 00 00 00 20 00 50 60 2 64 61E 74 . .    .........00000040P`:dat
6100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    a.............00000050:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000060:
4000 50 2 62 C0 73E 73 00 00 00 00 00 00 00 00 . .    @.P@.bss......00000070:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000080:
0000 00 00 00 00 00 00 80 00 50 2 72 C0 64E 61 . .    .........00000090P@:rda
7461 00 00 00 00 00 00 00 00 00 00 10 00 00 00 . .    ta............000000:
5a001 00C 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    \.............000000:
40b000 50 40 2 78 64E 61 74 61 00 00 00 00 00 00 . .    @.P@.xdata....000000:
00c000 00 00 0 00 00C 00 6 01 00C 00 00 00 00 00 . .    ........l.....000000:
00d000 00 00 00 00 00 00 40 00 30 40 2 70 64E 61 . .    .......0.@000000e0@:pda
7461 00 00 00 00 00 00 00 00 00 00 0 00 00C 00 . .    ta............000000f0
:7801 00 00 01 00 E2 00 00 00 00 00 03 00 00 00 . .    x...b.........00000100:
4000 30 40 2F 34 00 00 00 00 00 00 00 00 00 00 .0 /    @4.@.........00000110:
0000 00 00 40 00 00 00 84 01 00 00 00 00 00 00 . .    ....@.........00000120:
0000 00 00 00 00 00 00 40 00 50 40 55 48 89 . . E5    ........@00000130P@UH:e
4883 20 00 EC 00 E8 00 00 48 8 0 00D 00D 00 00 . .    H.l.h....H....00000140:
0000 E8 00 00 00 00 B8 00 00 48 83 20 5 C4 . .D C3    h..8......H]D00000150:C
9090 90 90 90 90 90 90 90 90 90 90 48 65 6 6 .C .C    ..........00000160:Hell
6F2 20 57C 6F 72 6 64 21C 00 00 00 01 08 03 05 , .    o!.World......00000170:
0832 04 03 01 50 00 00 00 00 00 00 24 00 00 00 .2 .    ....P......$.00000180:
0000 00 00 47 43 43 3 20 28A 78 38 36 5F 36 34 . .    ..:.GCC(00000190:x86_64
270 6FD 73 69 78 2 73 65D 68 2 72 65D 76 30 2 - -C    -posix,seh000001rev0:
20a042 75 69 6 74 20C 62 79 20 4 69 6D 47 57E 2 . .D    .Built-by000001MinGW:
57b036 34 20 70 72 6F 6 65 63A 74 29 20 38 2 31 .E )    W64.8project.1000001:
2c030 00E 00 09 00 00 00 12 00 00 00 04 00 10 00 .0 .    .............000001:
00d000 0 00 00A 00 04 00 15 00 00 00 13 00 00 00 . .    ..............000001e0:
0400 00 00 00 00 04 00 00 00 03 00 04 00 00 00 . .    ..............000001f0
:0400 00 00 03 00 08 00 00 00 0 00 00C 00 03 00 . .    ..............00000200:
266 69E 6 65 00C 00 00 00 00 00 00 00 00 FE FF . .    .file.....~...00000210:
6701 6 61 69D 6 2 63E 00E 00 00 00 00 00 00 00 . .    g.main.c......00000220:
0000 00 00 6 61 69D 6 00 00E 00 00 00 00 00 00 . .    ....main......00000230:
0100 20 00 02 01 00 00 00 00 00 00 00 00 00 00 . .    ..............00000240:
0000 00 00 00 00 00 00 2 74 65E 78 74 00 00 00 . .    .........text.00000250:
0000 00 00 01 00 00 00 03 01 24 00 00 00 03 00 . .    ..........$...00000260:
0000 00 00 00 00 00 00 00 00 00 00 2 64 61E 74 . .    ...........00000270:dat
6100 00 00 00 00 00 00 02 00 00 00 03 01 00 00 . .    a.............00000280:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000290:
262 73E 73 00 00 00 00 00 00 00 00 03 00 00 00 . .    .bss..........000002:
03a001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............000002:
00b000 00 00 2 72 64E 61 74 61 00 00 00 00 00 00 . .    .....rdata....000002:
04c000 00 00 03 01 0 00 00E 00 00 00 00 00 00 00 . .    ..............000002:
00d000 00 00 00 00 00 00 2 78 64E 61 74 61 00 00 . .    .........xdata000002e0:
0000 00 00 05 00 00 00 03 01 0 00 00C 00 00 00 . .    ..............000002f0
:0000 00 00 00 00 00 00 00 00 00 00 2 70 64E 61 . .    ...........00000300:pda
7461 00 00 00 00 00 00 06 00 00 00 03 01 0 00 .C .    ta............00000310:
0000 03 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ..............00000320:
0000 00 00 0F 00 00 00 00 00 00 00 07 00 00 00 . .    ..............00000330:
0301 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 . .    ?.............00000340:
0000 00 00 5F 5F 6 61 69D 6 00 00E 00 00 00 00 . .    ....__main....00000350:
0000 20 00 02 00 70 75 74 73 00 00 00 00 00 00 . .    ......puts....00000360:
0000 00 00 20 00 02 00 1 00 00A 00 2 72 64E 61 . .    ...........00000370:rda
7461 24 7 7 7A 00A 2A 72 64E 61 74 61 24 7 7 .A .A    ta$zzz00000380:rdata$zz
700 .A                                               z


  1. CPU输入端:是信号进入CPU的起点。物质上:CPU的组成中有这样一组这样门,门的输入端专门和外部连接,从外部获取信号(指令和数据)。
    CPU输出端:是信号在CPU中传递的终点。物质上:CPU的组成中有这样一组这样门,门的输出端专门和外部连接,CPU运行的结果以电平信号写在该端口,被外界读取。 ↩︎

  2. 对CPU读写:要么写高电平,要么写低电平,端口只有这两种状态。 ↩︎

  3. 机器码:一组序列,序列中只包含0和1,能够直接被CPU使用。为什么只包含0和1?因为序列中的每个0和1都对应着一个输入端口的电平状态,1代表高电平,0代表低电平。
    总结一下:端口拥有状态的数量,决定机器码包含多少种状态。传说中的量子/光子计算机每个光子拥有多个状态,量子计算机的机器码就就有可能包含3,4,5… ↩︎

  4. 仅个人学习笔记,肯定有些理解不到位的地方,读者见谅哈!真错了欢迎指正,一起学习一起进步,那种扯淡、吵架、秀优越的就别打字了… ↩︎

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/791703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存