zoukankan      html  css  js  c++  java
  • 【0001】C程序的编译过程

     

    C程序编译过程:

            1) 预编译:(其本质是将引用的文件已文本文件的方式插入到文件的开始部分)
                【1】预处理阶段,凡是预处理指令内容都得进行处理
                【2】预处理指令:
                      以"#"作为开头的命令,常见预处理指令:#define   #include  #if  #endif  #progma
                #include <stdio.h>   将系统中的stdio.h文件插入到2.c程序的开始部分
                #define N 10     将常量N替换为10
                【3】预处理判断,预处理替换
                【4】预处理之后的结果还是源文件
                【5】例如预编译test1.c这个文件
                           gcc -E -o test11.c test1.c         
                                    即:将test1.c文件预编译(gcc -E)后保存在test11.c中
                            test11.c开始部分内容为复制stdio.h的内容,最后才是test1.c程序体部分
            2) 编译:
                【1】将预处理之后的源文件编程成二进制文件(中间文件,对象文件)
                  二进制文件特点:
                          GCC编译后的中间文件的后缀为.o
                          VC编译结果为.obj文件
       【2】链接,将中间文件与库函数printf()链接起来

     

    预编译:

    1 #define N 10
    2 
    3 int main()
    4 {
    5     int a=N;
    6 }
    1.c,大小为49字节

    C:UsersAdministratorDesktop>gcc -E -o 11.c 1.c

     1 # 1 "1.c"
     2 # 1 "<built-in>"
     3 # 1 "<command-line>"
     4 # 1 "1.c"
     5 
     6 
     7 int main()
     8 {
     9  int a=10;
    10 }
    1.c预编译后生成11.c,大小96B
    1 #include <stdio.h>
    2 #define N 10
    3 
    4 int main()
    5 {
    6     int a=N;
    7     
    8     printf("%d 
    ", a);
    9 }
    2.c,大小为94B

    C:UsersAdministratorDesktop>gcc -E -o 22.c 2.c

      1 # 1 "2.c"
      2 # 1 "<built-in>"
      3 # 1 "<command-line>"
      4 # 1 "2.c"
      5 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 1 3
      6 # 9 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
      7 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 1 3
      8 # 10 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 3
      9 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 1 3
     10 # 12 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 3
     11 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw_mac.h" 1 3
     12 # 98 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw_mac.h" 3
     13              
     14 # 107 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw_mac.h" 3
     15              
     16 # 13 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 2 3
     17 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw_secapi.h" 1 3
     18 # 14 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 2 3
     19 # 282 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 3
     20 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/vadefs.h" 1 3
     21 # 9 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/vadefs.h" 3
     22 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 1 3
     23 # 578 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 3
     24 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/sdks/_mingw_directx.h" 1 3
     25 # 579 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 2 3
     26 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h" 1 3
     27 # 580 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 2 3
     28 # 10 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/vadefs.h" 2 3
     29 
     30 
     31 
     32 
     33 #pragma pack(push,_CRT_PACKING)
     34 # 24 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/vadefs.h" 3
     35   
     36 # 24 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/vadefs.h" 3
     37  typedef __builtin_va_list __gnuc_va_list;
     38 
     39 
     40 
     41 
     42 
     43 
     44   typedef __gnuc_va_list va_list;
     45 # 103 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/vadefs.h" 3
     46 #pragma pack(pop)
     47 # 283 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 2 3
     48 # 552 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw.h" 3
     49 void __attribute__((__cdecl__)) __debugbreak(void);
     50 extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void __attribute__((__cdecl__)) __debugbreak(void)
     51 {
     52   __asm__ __volatile__("int {$}3":);
     53 }
     54 
     55 
     56 
     57 
     58 const char *__mingw_get_crt_info (void);
     59 # 11 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 2 3
     60 
     61 
     62 
     63 
     64 #pragma pack(push,_CRT_PACKING)
     65 # 35 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 3
     66 __extension__ typedef unsigned long long size_t;
     67 # 45 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 3
     68 __extension__ typedef long long ssize_t;
     69 
     70 
     71 
     72 
     73 
     74 
     75 typedef size_t rsize_t;
     76 # 62 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 3
     77 __extension__ typedef long long intptr_t;
     78 # 75 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 3
     79 __extension__ typedef unsigned long long uintptr_t;
     80 # 88 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 3
     81 __extension__ typedef long long ptrdiff_t;
     82 # 98 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 3
     83 typedef unsigned short wchar_t;
     84 
     85 
     86 
     87 
     88 
     89 
     90 
     91 typedef unsigned short wint_t;
     92 typedef unsigned short wctype_t;
     93 
     94 
     95 
     96 
     97 
     98 typedef int errno_t;
     99 
    100 
    101 
    102 
    103 typedef long __time32_t;
    104 
    105 
    106 
    107 
    108 __extension__ typedef long long __time64_t;
    109 # 138 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 3
    110 typedef __time64_t time_t;
    111 # 422 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/crtdefs.h" 3
    112 struct threadlocaleinfostruct;
    113 struct threadmbcinfostruct;
    114 typedef struct threadlocaleinfostruct *pthreadlocinfo;
    115 typedef struct threadmbcinfostruct *pthreadmbcinfo;
    116 struct __lc_time_data;
    117 
    118 typedef struct localeinfo_struct {
    119   pthreadlocinfo locinfo;
    120   pthreadmbcinfo mbcinfo;
    121 } _locale_tstruct,*_locale_t;
    122 
    123 
    124 
    125 typedef struct tagLC_ID {
    126   unsigned short wLanguage;
    127   unsigned short wCountry;
    128   unsigned short wCodePage;
    129 } LC_ID,*LPLC_ID;
    130 
    131 
    132 
    133 
    134 typedef struct threadlocaleinfostruct {
    135   int refcount;
    136   unsigned int lc_codepage;
    137   unsigned int lc_collate_cp;
    138   unsigned long lc_handle[6];
    139   LC_ID lc_id[6];
    140   struct {
    141     char *locale;
    142     wchar_t *wlocale;
    143     int *refcount;
    144     int *wrefcount;
    145   } lc_category[6];
    146   int lc_clike;
    147   int mb_cur_max;
    148   int *lconv_intl_refcount;
    149   int *lconv_num_refcount;
    150   int *lconv_mon_refcount;
    151   struct lconv *lconv;
    152   int *ctype1_refcount;
    153   unsigned short *ctype1;
    154   const unsigned short *pctype;
    155   const unsigned char *pclmap;
    156   const unsigned char *pcumap;
    157   struct __lc_time_data *lc_time_curr;
    158 } threadlocinfo;
    159 
    160 
    161 
    162 
    163 
    164 
    165 
    166 #pragma pack(pop)
    167 # 10 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 2 3
    168 
    169 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw_print_push.h" 1 3
    170 # 12 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 2 3
    171 
    172 #pragma pack(push,_CRT_PACKING)
    173 # 26 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    174   struct _iobuf {
    175     char *_ptr;
    176     int _cnt;
    177     char *_base;
    178     int _flag;
    179     int _file;
    180     int _charbuf;
    181     int _bufsiz;
    182     char *_tmpfname;
    183   };
    184   typedef struct _iobuf FILE;
    185 # 80 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    186 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw_off_t.h" 1 3
    187 
    188 
    189 
    190 
    191   typedef long _off_t;
    192 
    193   typedef long off32_t;
    194 
    195 
    196 
    197 
    198 
    199   __extension__ typedef long long _off64_t;
    200 
    201   __extension__ typedef long long off64_t;
    202 # 26 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw_off_t.h" 3
    203 typedef off32_t off_t;
    204 # 81 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 2 3
    205 
    206 __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) __acrt_iob_func(unsigned index);
    207 
    208 
    209   __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) __iob_func(void);
    210 # 104 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    211   __extension__ typedef long long fpos_t;
    212 # 162 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    213 extern
    214   __attribute__((__format__ (gnu_scanf, 2, 3))) __attribute__ ((__nonnull__ (2)))
    215   int __attribute__((__cdecl__)) __mingw_sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...);
    216 extern
    217   __attribute__((__format__ (gnu_scanf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    218   int __attribute__((__cdecl__)) __mingw_vsscanf (const char * __restrict__ _Str,const char * __restrict__ Format,va_list argp);
    219 extern
    220   __attribute__((__format__ (gnu_scanf, 1, 2))) __attribute__ ((__nonnull__ (1)))
    221   int __attribute__((__cdecl__)) __mingw_scanf(const char * __restrict__ _Format,...);
    222 extern
    223   __attribute__((__format__ (gnu_scanf, 1, 0))) __attribute__ ((__nonnull__ (1)))
    224   int __attribute__((__cdecl__)) __mingw_vscanf(const char * __restrict__ Format, va_list argp);
    225 extern
    226   __attribute__((__format__ (gnu_scanf, 2, 3))) __attribute__ ((__nonnull__ (2)))
    227   int __attribute__((__cdecl__)) __mingw_fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...);
    228 extern
    229   __attribute__((__format__ (gnu_scanf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    230   int __attribute__((__cdecl__)) __mingw_vfscanf (FILE * __restrict__ fp, const char * __restrict__ Format,va_list argp);
    231 
    232 extern
    233   __attribute__((__format__ (gnu_printf, 3, 0))) __attribute__ ((__nonnull__ (3)))
    234   int __attribute__((__cdecl__)) __mingw_vsnprintf(char * __restrict__ _DstBuf,size_t _MaxCount,const char * __restrict__ _Format,
    235                                va_list _ArgList);
    236 extern
    237   __attribute__((__format__ (gnu_printf, 3, 4))) __attribute__ ((__nonnull__ (3)))
    238   int __attribute__((__cdecl__)) __mingw_snprintf(char * __restrict__ s, size_t n, const char * __restrict__ format, ...);
    239 extern
    240   __attribute__((__format__ (gnu_printf, 1, 2))) __attribute__ ((__nonnull__ (1)))
    241   int __attribute__((__cdecl__)) __mingw_printf(const char * __restrict__ , ... ) __attribute__ ((__nothrow__));
    242 extern
    243   __attribute__((__format__ (gnu_printf, 1, 0))) __attribute__ ((__nonnull__ (1)))
    244   int __attribute__((__cdecl__)) __mingw_vprintf (const char * __restrict__ , va_list) __attribute__ ((__nothrow__));
    245 extern
    246   __attribute__((__format__ (gnu_printf, 2, 3))) __attribute__ ((__nonnull__ (2)))
    247   int __attribute__((__cdecl__)) __mingw_fprintf (FILE * __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__));
    248 extern
    249   __attribute__((__format__ (gnu_printf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    250   int __attribute__((__cdecl__)) __mingw_vfprintf (FILE * __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__));
    251 extern
    252   __attribute__((__format__ (gnu_printf, 2, 3))) __attribute__ ((__nonnull__ (2)))
    253   int __attribute__((__cdecl__)) __mingw_sprintf (char * __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__));
    254 extern
    255   __attribute__((__format__ (gnu_printf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    256   int __attribute__((__cdecl__)) __mingw_vsprintf (char * __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__));
    257 extern
    258   __attribute__((__format__ (gnu_printf, 2, 3))) __attribute__((nonnull (1,2)))
    259   int __attribute__((__cdecl__)) __mingw_asprintf(char ** __restrict__ , const char * __restrict__ , ...) __attribute__ ((__nothrow__));
    260 extern
    261   __attribute__((__format__ (gnu_printf, 2, 0))) __attribute__((nonnull (1,2)))
    262   int __attribute__((__cdecl__)) __mingw_vasprintf(char ** __restrict__ , const char * __restrict__ , va_list) __attribute__ ((__nothrow__));
    263 # 506 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    264   __attribute__((__format__ (ms_printf, 2, 3))) __attribute__ ((__nonnull__ (2)))
    265   int __attribute__((__cdecl__)) fprintf(FILE * __restrict__ _File,const char * __restrict__ _Format,...);
    266   __attribute__((__format__ (ms_printf, 1, 2))) __attribute__ ((__nonnull__ (1)))
    267   int __attribute__((__cdecl__)) printf(const char * __restrict__ _Format,...);
    268   __attribute__((__format__ (ms_printf, 2, 3))) __attribute__ ((__nonnull__ (2)))
    269   int __attribute__((__cdecl__)) sprintf(char * __restrict__ _Dest,const char * __restrict__ _Format,...) ;
    270 
    271   __attribute__((__format__ (ms_printf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    272   int __attribute__((__cdecl__)) vfprintf(FILE * __restrict__ _File,const char * __restrict__ _Format,va_list _ArgList);
    273   __attribute__((__format__ (ms_printf, 1, 0))) __attribute__ ((__nonnull__ (1)))
    274   int __attribute__((__cdecl__)) vprintf(const char * __restrict__ _Format,va_list _ArgList);
    275   __attribute__((__format__ (ms_printf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    276   int __attribute__((__cdecl__)) vsprintf(char * __restrict__ _Dest,const char * __restrict__ _Format,va_list _Args) ;
    277 
    278   __attribute__((__format__ (ms_scanf, 2, 3))) __attribute__ ((__nonnull__ (2)))
    279   int __attribute__((__cdecl__)) fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...) ;
    280   __attribute__((__format__ (ms_scanf, 1, 2))) __attribute__ ((__nonnull__ (1)))
    281   int __attribute__((__cdecl__)) scanf(const char * __restrict__ _Format,...) ;
    282   __attribute__((__format__ (ms_scanf, 2, 3))) __attribute__ ((__nonnull__ (2)))
    283   int __attribute__((__cdecl__)) sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...) ;
    284 
    285 
    286 
    287 
    288 
    289 
    290 #pragma GCC diagnostic push
    291 #pragma GCC diagnostic ignored "-Wshadow"
    292 
    293 
    294   __attribute__((__format__ (ms_scanf, 1, 0))) __attribute__ ((__nonnull__ (1)))
    295   int __attribute__((__cdecl__)) __ms_vscanf(const char * __restrict__ Format, va_list argp);
    296   __attribute__((__format__ (ms_scanf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    297   int __attribute__((__cdecl__)) __ms_vfscanf (FILE * __restrict__ fp, const char * __restrict__ Format,va_list argp);
    298   __attribute__((__format__ (ms_scanf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    299   int __attribute__((__cdecl__)) __ms_vsscanf (const char * __restrict__ _Str,const char * __restrict__ Format,va_list argp);
    300 
    301   static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    302   __attribute__((__format__ (ms_scanf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    303   int vfscanf (FILE *__stream, const char *__format, __builtin_va_list __local_argv)
    304   {
    305     return __ms_vfscanf (__stream, __format, __local_argv);
    306   }
    307 
    308   static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    309   __attribute__((__format__ (ms_scanf, 2, 0))) __attribute__ ((__nonnull__ (2)))
    310   int vsscanf (const char * __restrict__ __source, const char * __restrict__ __format, __builtin_va_list __local_argv)
    311   {
    312     return __ms_vsscanf( __source, __format, __local_argv );
    313   }
    314   static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    315   __attribute__((__format__ (ms_scanf, 1, 0))) __attribute__ ((__nonnull__ (1)))
    316   int vscanf(const char *__format, __builtin_va_list __local_argv)
    317   {
    318     return __ms_vscanf (__format, __local_argv);
    319   }
    320 
    321 
    322 #pragma GCC diagnostic pop
    323 
    324 
    325 
    326 
    327 
    328 
    329   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _filbuf(FILE *_File);
    330   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _flsbuf(int _Ch,FILE *_File);
    331 
    332 
    333 
    334   __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _fsopen(const char *_Filename,const char *_Mode,int _ShFlag);
    335 
    336   void __attribute__((__cdecl__)) clearerr(FILE *_File);
    337   int __attribute__((__cdecl__)) fclose(FILE *_File);
    338   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fcloseall(void);
    339 
    340 
    341 
    342   __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _fdopen(int _FileHandle,const char *_Mode);
    343 
    344   int __attribute__((__cdecl__)) feof(FILE *_File);
    345   int __attribute__((__cdecl__)) ferror(FILE *_File);
    346   int __attribute__((__cdecl__)) fflush(FILE *_File);
    347   int __attribute__((__cdecl__)) fgetc(FILE *_File);
    348   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fgetchar(void);
    349   int __attribute__((__cdecl__)) fgetpos(FILE * __restrict__ _File ,fpos_t * __restrict__ _Pos);
    350   int __attribute__((__cdecl__)) fgetpos64(FILE * __restrict__ _File ,fpos_t * __restrict__ _Pos);
    351   char *__attribute__((__cdecl__)) fgets(char * __restrict__ _Buf,int _MaxCount,FILE * __restrict__ _File);
    352   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fileno(FILE *_File);
    353 
    354 
    355 
    356   __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _tempnam(const char *_DirName,const char *_FilePrefix);
    357   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _flushall(void);
    358   FILE *__attribute__((__cdecl__)) fopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode) ;
    359   FILE *fopen64(const char * __restrict__ filename,const char * __restrict__ mode);
    360   int __attribute__((__cdecl__)) fputc(int _Ch,FILE *_File);
    361   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fputchar(int _Ch);
    362   int __attribute__((__cdecl__)) fputs(const char * __restrict__ _Str,FILE * __restrict__ _File);
    363   size_t __attribute__((__cdecl__)) fread(void * __restrict__ _DstBuf,size_t _ElementSize,size_t _Count,FILE * __restrict__ _File);
    364   FILE *__attribute__((__cdecl__)) freopen(const char * __restrict__ _Filename,const char * __restrict__ _Mode,FILE * __restrict__ _File) ;
    365   int __attribute__((__cdecl__)) fsetpos(FILE *_File,const fpos_t *_Pos);
    366   int __attribute__((__cdecl__)) fsetpos64(FILE *_File,const fpos_t *_Pos);
    367   int __attribute__((__cdecl__)) fseek(FILE *_File,long _Offset,int _Origin);
    368   long __attribute__((__cdecl__)) ftell(FILE *_File);
    369 # 631 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    370   __extension__ int __attribute__((__cdecl__)) _fseeki64(FILE *_File,long long _Offset,int _Origin);
    371   __extension__ long long __attribute__((__cdecl__)) _ftelli64(FILE *_File);
    372   int fseeko64(FILE* stream, _off64_t offset, int whence);
    373   int fseeko(FILE* stream, _off_t offset, int whence);
    374 
    375   _off_t ftello(FILE * stream);
    376   _off64_t ftello64(FILE * stream);
    377 # 654 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    378   size_t __attribute__((__cdecl__)) fwrite(const void * __restrict__ _Str,size_t _Size,size_t _Count,FILE * __restrict__ _File);
    379   int __attribute__((__cdecl__)) getc(FILE *_File);
    380   int __attribute__((__cdecl__)) getchar(void);
    381   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _getmaxstdio(void);
    382   char *__attribute__((__cdecl__)) gets(char *_Buffer) ;
    383   int __attribute__((__cdecl__)) _getw(FILE *_File);
    384 
    385 
    386   void __attribute__((__cdecl__)) perror(const char *_ErrMsg);
    387 
    388   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _pclose(FILE *_File);
    389   __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _popen(const char *_Command,const char *_Mode);
    390 
    391 
    392 
    393 
    394   int __attribute__((__cdecl__)) putc(int _Ch,FILE *_File);
    395   int __attribute__((__cdecl__)) putchar(int _Ch);
    396   int __attribute__((__cdecl__)) puts(const char *_Str);
    397   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _putw(int _Word,FILE *_File);
    398 
    399 
    400   int __attribute__((__cdecl__)) remove(const char *_Filename);
    401   int __attribute__((__cdecl__)) rename(const char *_OldFilename,const char *_NewFilename);
    402   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _unlink(const char *_Filename);
    403 
    404   int __attribute__((__cdecl__)) unlink(const char *_Filename) ;
    405 
    406 
    407   void __attribute__((__cdecl__)) rewind(FILE *_File);
    408   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _rmtmp(void);
    409   void __attribute__((__cdecl__)) setbuf(FILE * __restrict__ _File,char * __restrict__ _Buffer) ;
    410   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _setmaxstdio(int _Max);
    411   __attribute__ ((__dllimport__)) unsigned int __attribute__((__cdecl__)) _set_output_format(unsigned int _Format);
    412   __attribute__ ((__dllimport__)) unsigned int __attribute__((__cdecl__)) _get_output_format(void);
    413   int __attribute__((__cdecl__)) setvbuf(FILE * __restrict__ _File,char * __restrict__ _Buf,int _Mode,size_t _Size);
    414 # 712 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    415   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scprintf(const char * __restrict__ _Format,...);
    416   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snscanf(const char * __restrict__ _Src,size_t _MaxCount,const char * __restrict__ _Format,...) ;
    417 
    418   FILE *__attribute__((__cdecl__)) tmpfile(void) ;
    419   char *__attribute__((__cdecl__)) tmpnam(char *_Buffer);
    420   int __attribute__((__cdecl__)) ungetc(int _Ch,FILE *_File);
    421 # 734 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    422   __attribute__((__format__ (ms_printf, 3, 4))) __attribute__ ((__nonnull__ (3)))
    423   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snprintf(char * __restrict__ _Dest,size_t _Count,const char * __restrict__ _Format,...) ;
    424   __attribute__((__format__ (ms_printf, 3, 0))) __attribute__ ((__nonnull__ (3)))
    425   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnprintf(char * __restrict__ _Dest,size_t _Count,const char * __restrict__ _Format,va_list _Args) ;
    426 # 761 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    427 #pragma GCC diagnostic push
    428 #pragma GCC diagnostic ignored "-Wshadow"
    429 
    430 
    431        
    432        
    433 
    434 
    435   __attribute__((__format__ (ms_printf, 3, 0))) __attribute__ ((__nonnull__ (3)))
    436   int __attribute__((__cdecl__)) __ms_vsnprintf(char * __restrict__ d,size_t n,const char * __restrict__ format,va_list arg)
    437     ;
    438 
    439   static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    440   __attribute__((__format__ (ms_printf, 3, 0))) __attribute__ ((__nonnull__ (3)))
    441   int vsnprintf (char * __restrict__ __stream, size_t __n, const char * __restrict__ __format, va_list __local_argv)
    442   {
    443     return __ms_vsnprintf (__stream, __n, __format, __local_argv);
    444   }
    445 
    446   __attribute__((__format__ (ms_printf, 3, 4))) __attribute__ ((__nonnull__ (3)))
    447   int __attribute__((__cdecl__)) __ms_snprintf(char * __restrict__ s, size_t n, const char * __restrict__ format, ...);
    448 
    449 
    450 static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    451 __attribute__((__format__ (ms_printf, 3, 4))) __attribute__ ((__nonnull__ (3)))
    452 int snprintf (char * __restrict__ __stream, size_t __n, const char * __restrict__ __format, ...)
    453 {
    454   int __retval;
    455   __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
    456   __retval = __ms_vsnprintf (__stream, __n, __format, __local_argv);
    457   __builtin_va_end( __local_argv );
    458   return __retval;
    459 }
    460 
    461 
    462        
    463        
    464 
    465 #pragma GCC diagnostic pop
    466 # 811 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    467   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vscprintf(const char * __restrict__ _Format,va_list _ArgList);
    468 
    469 
    470   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _set_printf_count_output(int _Value);
    471   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _get_printf_count_output(void);
    472 
    473 
    474 
    475 
    476                                                      __attribute__ ((__nonnull__ (2)))
    477   int __attribute__((__cdecl__)) __mingw_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...);
    478                                                      __attribute__ ((__nonnull__ (2)))
    479   int __attribute__((__cdecl__)) __mingw_vswscanf (const wchar_t * __restrict__ _Str,const wchar_t * __restrict__ Format,va_list argp);
    480                                                      __attribute__ ((__nonnull__ (1)))
    481   int __attribute__((__cdecl__)) __mingw_wscanf(const wchar_t * __restrict__ _Format,...);
    482                                                      __attribute__ ((__nonnull__ (1)))
    483   int __attribute__((__cdecl__)) __mingw_vwscanf(const wchar_t * __restrict__ Format, va_list argp);
    484                                                      __attribute__ ((__nonnull__ (2)))
    485   int __attribute__((__cdecl__)) __mingw_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...);
    486                                                      __attribute__ ((__nonnull__ (2)))
    487   int __attribute__((__cdecl__)) __mingw_vfwscanf (FILE * __restrict__ fp, const wchar_t * __restrict__ Format,va_list argp);
    488 
    489                                                       __attribute__ ((__nonnull__ (2)))
    490   int __attribute__((__cdecl__)) __mingw_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...);
    491                                                       __attribute__ ((__nonnull__ (1)))
    492   int __attribute__((__cdecl__)) __mingw_wprintf(const wchar_t * __restrict__ _Format,...);
    493                                                      __attribute__ ((__nonnull__ (2)))
    494   int __attribute__((__cdecl__)) __mingw_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList);
    495                                                      __attribute__ ((__nonnull__ (1)))
    496   int __attribute__((__cdecl__)) __mingw_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList);
    497                                                       __attribute__ ((__nonnull__ (3)))
    498   int __attribute__((__cdecl__)) __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...);
    499                                                       __attribute__ ((__nonnull__ (3)))
    500   int __attribute__((__cdecl__)) __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list);
    501                                                       __attribute__ ((__nonnull__ (2)))
    502   int __attribute__((__cdecl__)) __mingw_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...);
    503                                                       __attribute__ ((__nonnull__ (2)))
    504   int __attribute__((__cdecl__)) __mingw_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list);
    505 # 1061 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    506   int __attribute__((__cdecl__)) fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...) ;
    507   int __attribute__((__cdecl__)) swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...) ;
    508   int __attribute__((__cdecl__)) wscanf(const wchar_t * __restrict__ _Format,...) ;
    509 
    510   int __attribute__((__cdecl__)) __ms_vwscanf (const wchar_t * __restrict__ , va_list);
    511   int __attribute__((__cdecl__)) __ms_vfwscanf (FILE * __restrict__ ,const wchar_t * __restrict__ ,va_list);
    512   int __attribute__((__cdecl__)) __ms_vswscanf (const wchar_t * __restrict__ ,const wchar_t * __restrict__ ,va_list);
    513 
    514   static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    515   __attribute__ ((__nonnull__ (2)))
    516   int vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv)
    517   {
    518     return __ms_vfwscanf (__stream, __format, __local_argv);
    519   }
    520 
    521   static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    522   __attribute__ ((__nonnull__ (2)))
    523   int vswscanf (const wchar_t * __restrict__ __source, const wchar_t * __restrict__ __format, __builtin_va_list __local_argv)
    524   {
    525     return __ms_vswscanf( __source, __format, __local_argv );
    526   }
    527   static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    528   __attribute__ ((__nonnull__ (1)))
    529   int vwscanf(const wchar_t *__format, __builtin_va_list __local_argv)
    530   {
    531     return __ms_vwscanf (__format, __local_argv);
    532   }
    533 
    534 
    535 
    536   int __attribute__((__cdecl__)) fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...);
    537   int __attribute__((__cdecl__)) wprintf(const wchar_t * __restrict__ _Format,...);
    538   int __attribute__((__cdecl__)) vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList);
    539   int __attribute__((__cdecl__)) vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList);
    540 # 1105 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    541   __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode,int _ShFlag);
    542 
    543 
    544   wint_t __attribute__((__cdecl__)) fgetwc(FILE *_File);
    545   __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _fgetwchar(void);
    546   wint_t __attribute__((__cdecl__)) fputwc(wchar_t _Ch,FILE *_File);
    547   __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _fputwchar(wchar_t _Ch);
    548   wint_t __attribute__((__cdecl__)) getwc(FILE *_File);
    549   wint_t __attribute__((__cdecl__)) getwchar(void);
    550   wint_t __attribute__((__cdecl__)) putwc(wchar_t _Ch,FILE *_File);
    551   wint_t __attribute__((__cdecl__)) putwchar(wchar_t _Ch);
    552   wint_t __attribute__((__cdecl__)) ungetwc(wint_t _Ch,FILE *_File);
    553   wchar_t *__attribute__((__cdecl__)) fgetws(wchar_t * __restrict__ _Dst,int _SizeInWords,FILE * __restrict__ _File);
    554   int __attribute__((__cdecl__)) fputws(const wchar_t * __restrict__ _Str,FILE * __restrict__ _File);
    555   __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _getws(wchar_t *_String) ;
    556   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _putws(const wchar_t *_Str);
    557 # 1183 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    558   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scwprintf(const wchar_t * __restrict__ _Format,...);
    559   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _swprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,...);
    560   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vswprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,va_list _ArgList);
    561   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) ;
    562   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) ;
    563 
    564 
    565 
    566 
    567        
    568        
    569 
    570 
    571   int __attribute__((__cdecl__)) __ms_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...);
    572   int __attribute__((__cdecl__)) __ms_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list);
    573   static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    574   int snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...)
    575   {
    576     int r;
    577     va_list argp;
    578     __builtin_va_start (argp, format);
    579     r = _vsnwprintf (s, n, format, argp);
    580     __builtin_va_end (argp);
    581     return r;
    582   }
    583   static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    584   int __attribute__((__cdecl__)) vsnwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, va_list arg)
    585   {
    586     return _vsnwprintf(s,n,format,arg);
    587   }
    588        
    589        
    590 
    591 
    592 
    593   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _swprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,...);
    594   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vswprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,va_list _Args);
    595 
    596 
    597 
    598 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/swprintf.inl" 1 3
    599 # 25 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/swprintf.inl" 3
    600 static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    601                                                       __attribute__ ((__nonnull__ (3)))
    602 int vswprintf (wchar_t *__stream, size_t __count, const wchar_t *__format, __builtin_va_list __local_argv)
    603 {
    604   return vsnwprintf( __stream, __count, __format, __local_argv );
    605 }
    606 
    607 static __attribute__ ((__unused__)) __inline__ __attribute__((__cdecl__))
    608                                                       __attribute__ ((__nonnull__ (3)))
    609 int swprintf (wchar_t *__stream, size_t __count, const wchar_t *__format, ...)
    610 {
    611   int __retval;
    612   __builtin_va_list __local_argv;
    613 
    614   __builtin_va_start( __local_argv, __format );
    615   __retval = vswprintf( __stream, __count, __format, __local_argv );
    616   __builtin_va_end( __local_argv );
    617   return __retval;
    618 }
    619 # 1224 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 2 3
    620 # 1233 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    621   __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix);
    622   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vscwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList);
    623   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snwscanf(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,...);
    624   __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wfdopen(int _FileHandle ,const wchar_t *_Mode);
    625   __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wfopen(const wchar_t * __restrict__ _Filename,const wchar_t *__restrict__ _Mode) ;
    626   __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wfreopen(const wchar_t * __restrict__ _Filename,const wchar_t * __restrict__ _Mode,FILE * __restrict__ _OldFile) ;
    627 
    628 
    629 
    630   __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _wperror(const wchar_t *_ErrMsg);
    631 
    632   __attribute__ ((__dllimport__)) FILE *__attribute__((__cdecl__)) _wpopen(const wchar_t *_Command,const wchar_t *_Mode);
    633 
    634 
    635 
    636 
    637   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wremove(const wchar_t *_Filename);
    638   __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wtmpnam(wchar_t *_Buffer);
    639   __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _fgetwc_nolock(FILE *_File);
    640   __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _fputwc_nolock(wchar_t _Ch,FILE *_File);
    641   __attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _ungetwc_nolock(wint_t _Ch,FILE *_File);
    642 # 1290 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    643   __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _lock_file(FILE *_File);
    644   __attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _unlock_file(FILE *_File);
    645   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fclose_nolock(FILE *_File);
    646   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fflush_nolock(FILE *_File);
    647   __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _fread_nolock(void * __restrict__ _DstBuf,size_t _ElementSize,size_t _Count,FILE * __restrict__ _File);
    648   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fseek_nolock(FILE *_File,long _Offset,int _Origin);
    649   __attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _ftell_nolock(FILE *_File);
    650   __extension__ __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fseeki64_nolock(FILE *_File,long long _Offset,int _Origin);
    651   __extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _ftelli64_nolock(FILE *_File);
    652   __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _fwrite_nolock(const void * __restrict__ _DstBuf,size_t _Size,size_t _Count,FILE * __restrict__ _File);
    653   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _ungetc_nolock(int _Ch,FILE *_File);
    654 
    655 
    656 
    657 
    658 
    659   char *__attribute__((__cdecl__)) tempnam(const char *_Directory,const char *_FilePrefix) ;
    660   int __attribute__((__cdecl__)) fcloseall(void) ;
    661   FILE *__attribute__((__cdecl__)) fdopen(int _FileHandle,const char *_Format) ;
    662   int __attribute__((__cdecl__)) fgetchar(void) ;
    663   int __attribute__((__cdecl__)) fileno(FILE *_File) ;
    664   int __attribute__((__cdecl__)) flushall(void) ;
    665   int __attribute__((__cdecl__)) fputchar(int _Ch) ;
    666   int __attribute__((__cdecl__)) getw(FILE *_File) ;
    667   int __attribute__((__cdecl__)) putw(int _Ch,FILE *_File) ;
    668   int __attribute__((__cdecl__)) rmtmp(void) ;
    669 # 1332 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    670 int __attribute__((__cdecl__)) __mingw_str_wide_utf8 (const wchar_t * const wptr, char **mbptr, size_t * buflen);
    671 # 1346 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    672 int __attribute__((__cdecl__)) __mingw_str_utf8_wide (const char *const mbptr, wchar_t ** wptr, size_t * buflen);
    673 # 1355 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    674 void __attribute__((__cdecl__)) __mingw_str_free(void *ptr);
    675 
    676 
    677 
    678 
    679 
    680   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnl(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
    681   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnle(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
    682   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnlp(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
    683   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnlpe(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
    684   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnv(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
    685   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnve(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
    686   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnvp(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
    687   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _wspawnvpe(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
    688 # 1385 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 3
    689   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _spawnv(int _Mode,const char *_Filename,const char *const *_ArgList);
    690   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _spawnve(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env);
    691   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _spawnvp(int _Mode,const char *_Filename,const char *const *_ArgList);
    692   __attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _spawnvpe(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env);
    693 
    694 
    695 
    696 
    697 
    698 
    699 #pragma pack(pop)
    700 
    701 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 1 3
    702 # 9 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3
    703 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 1 3
    704 # 10 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 2 3
    705 # 28 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3
    706   __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) clearerr_s(FILE *_File);
    707 
    708   size_t __attribute__((__cdecl__)) fread_s(void *_DstBuf,size_t _DstSize,size_t _ElementSize,size_t _Count,FILE *_File);
    709 # 471 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3
    710   int __attribute__((__cdecl__)) fprintf_s(FILE *_File,const char *_Format,...);
    711   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fscanf_s_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
    712   int __attribute__((__cdecl__)) printf_s(const char *_Format,...);
    713   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scanf_l(const char *_Format,_locale_t _Locale,...);
    714   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scanf_s_l(const char *_Format,_locale_t _Locale,...);
    715   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snprintf_c(char *_DstBuf,size_t _MaxCount,const char *_Format,...);
    716   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnprintf_c(char *_DstBuf,size_t _MaxCount,const char *_Format,va_list _ArgList);
    717 
    718   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fscanf_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
    719   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _sscanf_l(const char *_Src,const char *_Format,_locale_t _Locale,...);
    720   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _sscanf_s_l(const char *_Src,const char *_Format,_locale_t _Locale,...);
    721   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) sscanf_s(const char *_Src,const char *_Format,...);
    722   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snscanf_s(const char *_Src,size_t _MaxCount,const char *_Format,...);
    723   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snscanf_l(const char *_Src,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
    724   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snscanf_s_l(const char *_Src,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
    725   int __attribute__((__cdecl__)) vfprintf_s(FILE *_File,const char *_Format,va_list _ArgList);
    726   int __attribute__((__cdecl__)) vprintf_s(const char *_Format,va_list _ArgList);
    727 
    728   int __attribute__((__cdecl__)) vsnprintf_s(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,va_list _ArgList);
    729 
    730   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnprintf_s(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,va_list _ArgList);
    731 
    732   __attribute__((dllimport)) int __attribute__((__cdecl__)) vsprintf_s(char *_DstBuf,size_t _Size,const char *_Format,va_list _ArgList);
    733 
    734   __attribute__((dllimport)) int __attribute__((__cdecl__)) sprintf_s(char *_DstBuf,size_t _DstSize,const char *_Format,...);
    735 
    736   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snprintf_s(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,...);
    737 
    738   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fprintf_p(FILE *_File,const char *_Format,...);
    739   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _printf_p(const char *_Format,...);
    740   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _sprintf_p(char *_Dst,size_t _MaxCount,const char *_Format,...);
    741   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vfprintf_p(FILE *_File,const char *_Format,va_list _ArgList);
    742   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vprintf_p(const char *_Format,va_list _ArgList);
    743   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsprintf_p(char *_Dst,size_t _MaxCount,const char *_Format,va_list _ArgList);
    744   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scprintf_p(const char *_Format,...);
    745   __attribute__((dllimport)) int __attribute__((__cdecl__)) _vscprintf_p(const char *_Format,va_list _ArgList);
    746   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _printf_l(const char *_Format,_locale_t _Locale,...);
    747   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _printf_p_l(const char *_Format,_locale_t _Locale,...);
    748   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vprintf_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
    749   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vprintf_p_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
    750   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fprintf_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
    751   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fprintf_p_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
    752   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vfprintf_l(FILE *_File,const char *_Format,_locale_t _Locale,va_list _ArgList);
    753   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vfprintf_p_l(FILE *_File,const char *_Format,_locale_t _Locale,va_list _ArgList);
    754   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _sprintf_l(char *_DstBuf,const char *_Format,_locale_t _Locale,...);
    755   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _sprintf_p_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
    756   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsprintf_l(char *_DstBuf,const char *_Format,_locale_t,va_list _ArgList);
    757   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsprintf_p_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,va_list _ArgList);
    758   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scprintf_l(const char *_Format,_locale_t _Locale,...);
    759   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scprintf_p_l(const char *_Format,_locale_t _Locale,...);
    760   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vscprintf_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
    761   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vscprintf_p_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
    762   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _printf_s_l(const char *_Format,_locale_t _Locale,...);
    763   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vprintf_s_l(const char *_Format,_locale_t _Locale,va_list _ArgList);
    764   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fprintf_s_l(FILE *_File,const char *_Format,_locale_t _Locale,...);
    765   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vfprintf_s_l(FILE *_File,const char *_Format,_locale_t _Locale,va_list _ArgList);
    766   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _sprintf_s_l(char *_DstBuf,size_t _DstSize,const char *_Format,_locale_t _Locale,...);
    767   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsprintf_s_l(char *_DstBuf,size_t _DstSize,const char *_Format,_locale_t _Locale,va_list _ArgList);
    768   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snprintf_s_l(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
    769   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnprintf_s_l(char *_DstBuf,size_t _DstSize,size_t _MaxCount,const char *_Format,_locale_t _Locale,va_list _ArgList);
    770   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snprintf_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
    771   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snprintf_c_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,...);
    772   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnprintf_l(char *_DstBuf,size_t _MaxCount,const char *_Format,_locale_t _Locale,va_list _ArgList);
    773   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnprintf_c_l(char *_DstBuf,size_t _MaxCount,const char *,_locale_t _Locale,va_list _ArgList);
    774 
    775 
    776  
    777  
    778  
    779  
    780  
    781 
    782   __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) fopen_s(FILE **_File,const char *_Filename,const char *_Mode);
    783   __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) freopen_s(FILE** _File, const char *_Filename, const char *_Mode, FILE *_Stream);
    784 
    785   __attribute__ ((__dllimport__)) char* __attribute__((__cdecl__)) gets_s(char*,rsize_t);
    786  
    787 
    788   __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) tmpnam_s(char*,rsize_t);
    789  
    790 
    791 
    792 
    793 
    794   __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _getws_s(wchar_t *_Str,size_t _SizeInWords);
    795  
    796 # 739 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3
    797   int __attribute__((__cdecl__)) fwprintf_s(FILE *_File,const wchar_t *_Format,...);
    798   int __attribute__((__cdecl__)) wprintf_s(const wchar_t *_Format,...);
    799   int __attribute__((__cdecl__)) vfwprintf_s(FILE *_File,const wchar_t *_Format,va_list _ArgList);
    800   int __attribute__((__cdecl__)) vwprintf_s(const wchar_t *_Format,va_list _ArgList);
    801 
    802   int __attribute__((__cdecl__)) vswprintf_s(wchar_t *_Dst,size_t _SizeInWords,const wchar_t *_Format,va_list _ArgList);
    803 
    804   int __attribute__((__cdecl__)) swprintf_s(wchar_t *_Dst,size_t _SizeInWords,const wchar_t *_Format,...);
    805 
    806   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnwprintf_s(wchar_t *_DstBuf,size_t _DstSizeInWords,size_t _MaxCount,const wchar_t *_Format,va_list _ArgList);
    807 
    808   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snwprintf_s(wchar_t *_DstBuf,size_t _DstSizeInWords,size_t _MaxCount,const wchar_t *_Format,...);
    809 
    810 
    811   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wprintf_s_l(const wchar_t *_Format,_locale_t _Locale,...);
    812   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vwprintf_s_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    813   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fwprintf_s_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
    814   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vfwprintf_s_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    815   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _swprintf_s_l(wchar_t *_DstBuf,size_t _DstSize,const wchar_t *_Format,_locale_t _Locale,...);
    816   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vswprintf_s_l(wchar_t *_DstBuf,size_t _DstSize,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    817   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snwprintf_s_l(wchar_t *_DstBuf,size_t _DstSize,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
    818   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnwprintf_s_l(wchar_t *_DstBuf,size_t _DstSize,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    819   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fwscanf_s_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
    820   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _swscanf_s_l(const wchar_t *_Src,const wchar_t *_Format,_locale_t _Locale,...);
    821   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) swscanf_s(const wchar_t *_Src,const wchar_t *_Format,...);
    822   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snwscanf_s(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,...);
    823   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snwscanf_s_l(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
    824   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wscanf_s_l(const wchar_t *_Format,_locale_t _Locale,...);
    825 
    826 
    827  
    828  
    829  
    830  
    831 
    832   __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wfopen_s(FILE **_File,const wchar_t *_Filename,const wchar_t *_Mode);
    833   __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wfreopen_s(FILE **_File,const wchar_t *_Filename,const wchar_t *_Mode,FILE *_OldFile);
    834 
    835   __attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wtmpnam_s(wchar_t *_DstBuf,size_t _SizeInWords);
    836  
    837 
    838 
    839   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fwprintf_p(FILE *_File,const wchar_t *_Format,...);
    840   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wprintf_p(const wchar_t *_Format,...);
    841   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vfwprintf_p(FILE *_File,const wchar_t *_Format,va_list _ArgList);
    842   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vwprintf_p(const wchar_t *_Format,va_list _ArgList);
    843   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _swprintf_p(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,...);
    844   __attribute__((dllimport)) int __attribute__((__cdecl__)) _vswprintf_p(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,va_list _ArgList);
    845   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scwprintf_p(const wchar_t *_Format,...);
    846   __attribute__((dllimport)) int __attribute__((__cdecl__)) _vscwprintf_p(const wchar_t *_Format,va_list _ArgList);
    847   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
    848   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
    849   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    850   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    851   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fwprintf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
    852   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fwprintf_p_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
    853   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vfwprintf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    854   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vfwprintf_p_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    855   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _swprintf_c_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
    856   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _swprintf_p_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
    857   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vswprintf_c_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    858   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vswprintf_p_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    859   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scwprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
    860   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _scwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
    861   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vscwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    862   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snwprintf_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
    863   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vsnwprintf_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    864   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __swprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,...);
    865   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __vswprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,va_list _Args);
    866   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _vscwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
    867   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _fwscanf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
    868   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _swscanf_l(const wchar_t *_Src,const wchar_t *_Format,_locale_t _Locale,...);
    869   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _snwscanf_l(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
    870   __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wscanf_l(const wchar_t *_Format,_locale_t _Locale,...);
    871 
    872 
    873 
    874 
    875 
    876   __attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _fread_nolock_s(void *_DstBuf,size_t _DstSize,size_t _ElementSize,size_t _Count,FILE *_File);
    877 # 1398 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 2 3
    878 
    879 # 1 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/_mingw_print_pop.h" 1 3
    880 # 1400 "E:/CodeBlocks/MinGW/x86_64-w64-mingw32/include/stdio.h" 2 3
    881 # 2 "2.c" 2
    882 
    883 
    884 
    885 # 4 "2.c"
    886 int main()
    887 {
    888  int a=10;
    889 
    890  printf("%d 
    ", a);
    891 }
    2.c预编译后的22.c,大小为52.5KB

    汇编,将C程序转换成汇编程序

    C:UsersAdministratorDesktop>gcc -S 1.c

     1     .file    "1.c"
     2     .text
     3     .def    __main;    .scl    2;    .type    32;    .endef
     4     .globl    main
     5     .def    main;    .scl    2;    .type    32;    .endef
     6     .seh_proc    main
     7 main:
     8     pushq    %rbp
     9     .seh_pushreg    %rbp
    10     movq    %rsp, %rbp
    11     .seh_setframe    %rbp, 0
    12     subq    $48, %rsp
    13     .seh_stackalloc    48
    14     .seh_endprologue
    15     call    __main
    16     movl    $10, -4(%rbp)
    17     movl    $0, %eax
    18     addq    $48, %rsp
    19     popq    %rbp
    20     ret
    21     .seh_endproc
    22     .ident    "GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"
    1.s,大小为445B

    C:UsersAdministratorDesktop>gcc -S 2.c

     1     .file    "2.c"
     2     .text
     3     .def    __main;    .scl    2;    .type    32;    .endef
     4     .section .rdata,"dr"
     5 .LC0:
     6     .ascii "%d 12"
     7     .text
     8     .globl    main
     9     .def    main;    .scl    2;    .type    32;    .endef
    10     .seh_proc    main
    11 main:
    12     pushq    %rbp
    13     .seh_pushreg    %rbp
    14     movq    %rsp, %rbp
    15     .seh_setframe    %rbp, 0
    16     subq    $48, %rsp
    17     .seh_stackalloc    48
    18     .seh_endprologue
    19     call    __main
    20     movl    $10, -4(%rbp)
    21     movl    -4(%rbp), %eax
    22     movl    %eax, %edx
    23     leaq    .LC0(%rip), %rcx
    24     call    printf
    25     movl    $0, %eax
    26     addq    $48, %rsp
    27     popq    %rbp
    28     ret
    29     .seh_endproc
    30     .ident    "GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"
    31     .def    printf;    .scl    2;    .type    32;    .endef
    2.s,大小为621B

    编译:

    生成中间文件

    C:UsersAdministratorDesktop>gcc -c 2.c

    此时生成2.o,大小为898字节

    编译并链接

    C:UsersAdministratorDesktop>gcc 2.c

    生成可执行程序2.exe,大小为52.7KB

  • 相关阅读:
    关于计算机改名无法连接TFS的问题
    配置 SQL Server 2008 Email 发送以及 Job 的 Notification通知功能
    javascript原型链中 this 的指向
    JavaScript中的构造函数 renturn
    Javascript中valueOf与toString区别
    JavaScript 中this与Dom中的注意
    SQL优化 CREATE STATISTICS
    Maven根据不同的环境打包不同的配置
    Maven build标签
    解决Maven报Plugin execution not covered by lifecycle configuration问题
  • 原文地址:https://www.cnblogs.com/ant-colonies/p/13322019.html
Copyright © 2011-2022 走看看