【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:\Users\Administrator\Desktop>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 \n", a);
9 }
2.c,大小为94B

C:\Users\Administrator\Desktop>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 \n", a);
891 }
2.c预编译后的22.c,大小为52.5KB

 

 

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

C:\Users\Administrator\Desktop>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:\Users\Administrator\Desktop>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\0"
 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:\Users\Administrator\Desktop>gcc -c 2.c

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

 

编译并链接

C:\Users\Administrator\Desktop>gcc 2.c

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

 

posted @ 2020-07-16 20:26  ant_colonies  阅读(520)  评论(0编辑  收藏  举报