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 }
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 #include <stdio.h> 2 #define N 10 3 4 int main() 5 { 6 int a=N; 7 8 printf("%d ", a); 9 }
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 }
汇编,将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"
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
编译:
生成中间文件
C:UsersAdministratorDesktop>gcc -c 2.c
此时生成2.o,大小为898字节
编译并链接
C:UsersAdministratorDesktop>gcc 2.c
生成可执行程序2.exe,大小为52.7KB