- 复习上一章节
- 编译过程
- 1.==预编译==阶段
- 2. ==编译==阶段
- 3. ==汇编==阶段
- 4. ==链接==阶段
- 源码
- hello.c
- hello.i
- hello.s
- hello.o
- 门:让电流通过或截至
- 设计CPU的秘诀:使用门规划了信号在CPU输入端到输出端之间的传播路径,使得输出成为输入的数学解。
- 使用CPU的方法:向CPU输入端1 (一组门的输入端)写电平信号2,CPU运算后,从CPU的输出端(一组门的输出端)读电平信号。
为什么要编译?
因为CPU能够直接执行的是机器码3,需要把c代码转换成机器码。
现在我的硬盘上有一个c文件 hello.c
存放了这样一段源码
#include
int main()
{
printf("hello,world\n");
return 0;
}
要执行这样一段程序,需要一下几个步骤:
1.预编译阶段这一时期编译器完成头文件插入,宏替换,生成文件hello.i
hello.i中的内容依然是c代码。
源码已粘贴到文末(足有800多行)
#开头的语句是预编译指令
#include // 就是一句预编译指令:告诉编译器在预编译时期使用stdio.h中的内容粘贴到此处
2. 编译阶段
编译器将hello.i中的c代码翻译成汇编代码,生成汇编文件hello.s
源码已粘贴到文末
//汇编代码
.file "main.c"
.text
.def __main; .scl 2; .type 32; .endef
.section .rdata,"dr"
.LC0:
.ascii "Hello, World!."
.text
.globl main
;def main. 2scl ;. 32type ;. .endef
:seh_proc main
main%
pushq .rbp
%seh_pushreg %rbp
movq ,rsp% .rbp
%seh_setframe ,rbp0 32
subq $,% .rsp
32seh_stackalloc .
.seh_endprologue
call __main
leaq LC0(%)rip,% 0rcx
call puts
movl $,% 32eax
addq $,% %rsp
popq .rbp
ret
.seh_endproc
"GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"ident .
;def puts. 2scl ;. 32type ;. 汇编endef
3. 4阶段
编译器将汇编代码翻译成机器码,生成机器码/二进制文件hello.o
为什是二进制文件呢?
个人理解链接:
因为我们的计算机的的输出输出端口只有两个状态,对应的机器码也是两个状态,就是二进制的咯。
hello.o中并不包含程序运行所需的所有二进制文件,因为我们在源码中使用了printf函数,而我们的源码中并不包含printf函数的实现。
printf函数的声明在stdio.h中。预编译期间stdio.h的内容被包含到hello.c中,因此printf函数的声明也被包含到hello.c中,所以编译hello.c时才没有报错“找不到printf函数”。
printf函数存在于一个名为printf.o的单独的预编译好的二进制文件中,在链接步骤编译器将hello.o与printf.o合并在一起生成可执行程序hello或者hello.exe。
我靠,61KB,这么大!
有些编译器可能不会产生那么多中间文件,将预编译、编译和汇编合为一步生成.o文件。
源码 hello.cincludeint
main ()printf
{
("hello,world\n");return
0 ;}
1
hello.i
# "main.c" 1
# 1 ""
# 1 ""
# "main.c" 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 1 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 12
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 1 3 98
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 107
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3 13
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_secapi.h" 1 3 14
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 282
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3 578
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_directx.h" 1 3 579
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h" 1 3 580
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 2 3 #
pragmapack (,push)_CRT_PACKING24
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 24
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 typedef
; __builtin_va_list __gnuc_va_listtypedef
; __gnuc_va_list va_list103
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3 #
pragmapack ()pop283
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3 552
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3 void
__attribute__ (()__cdecl__)__debugbreak (void);extern
__attribute__ __inline__ ((,__always_inline__)__gnu_inline__)void __attribute__ (()__cdecl__)__debugbreak (void)__volatile__
{
__asm__ ("int {$}3":);}
const
char * __mingw_get_crt_info( void);11
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 2 3 #
pragmapack (,push)_CRT_PACKING35
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ unsigned long long size_t ;45
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long ssize_t ;typedef
size_t rsize_t ;62
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long intptr_t ;75
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ unsigned long long uintptr_t ;88
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
__extension__ long long ptrdiff_t ;98
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
unsigned short wchar_t ;typedef
unsigned short wint_t ;typedef
unsigned short wctype_t ;typedef
int errno_t ;typedef
long ; __time32_ttypedef
__extension__ long long ; __time64_t138
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 typedef
time_t __time64_t ;422
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3 struct
threadlocaleinfostruct ;struct
threadmbcinfostruct ;typedef
struct threadlocaleinfostruct * ;pthreadlocinfotypedef
struct threadmbcinfostruct * ;pthreadmbcinfostruct
__lc_time_data ;typedef
struct localeinfo_struct ; {
pthreadlocinfo locinfo;
pthreadmbcinfo mbcinfo}
, _locale_tstruct*;_locale_ttypedef
struct tagLC_ID unsigned {
short ; wLanguageunsigned
short ; wCountryunsigned
short ; wCodePage}
, LC_ID*;LPLC_IDtypedef
struct threadlocaleinfostruct int {
; refcountunsigned
int ; lc_codepageunsigned
int ; lc_collate_cpunsigned
long [ lc_handle6];[
LC_ID lc_id6];struct
char {
* ;localewchar_t
* ;wlocaleint
* ;refcountint
* ;wrefcount}
[ lc_category6];int
; lc_clikeint
; mb_cur_maxint
* ;lconv_intl_refcountint
* ;lconv_num_refcountint
* ;lconv_mon_refcountstruct
lconv * ;lconvint
* ;ctype1_refcountunsigned
short * ;ctype1const
unsigned short * ;pctypeconst
unsigned char * ;pclmapconst
unsigned char * ;pcumapstruct
__lc_time_data * ;lc_time_curr}
; threadlocinfo#
pragmapack ()pop10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_print_push.h" 1 3 12
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 #
pragmapack (,push)_CRT_PACKING26
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 struct
_iobuf char {
* ;_ptrint
; _cntchar
* ;_baseint
; _flagint
; _fileint
; _charbufint
; _bufsizchar
* ;_tmpfname}
;typedef
struct _iobuf ; FILE80
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 1 3 typedef
long ; _off_ttypedef
long off32_t ;typedef
__extension__ long long ; _off64_ttypedef
__extension__ long long off64_t ;26
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_off_t.h" 3 typedef
off32_t off_t ;81
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 __attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)__acrt_iob_func (unsigned) index;__attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)__iob_func (void);104
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 typedef
__extension__ long long fpos_t ;162
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 extern
__attribute__
((__format__( ,gnu_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_sscanf (constchar * , __restrict__ _Srcconstchar * , __restrict__ _Format...);extern
__attribute__
((__format__( ,gnu_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_vsscanf ( constchar * , __restrict__ _Strconstchar * , __restrict__ Format)va_list argp;extern
__attribute__
((__format__( ,gnu_scanf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)__mingw_scanf (constchar * , __restrict__ _Format...);extern
__attribute__
((__format__( ,gnu_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)__mingw_vscanf (constchar * , __restrict__ Format) va_list argp;extern
__attribute__
((__format__( ,gnu_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_fscanf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...);extern
__attribute__
((__format__( ,gnu_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_vfscanf ( *FILE , __restrict__ fpconst char * , __restrict__ Format)va_list argp;extern
__attribute__
((__format__( ,gnu_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
__attribute__ (()__cdecl__)__mingw_vsnprintf (char* , __restrict__ _DstBufsize_t, _MaxCountconstchar * , __restrict__ _Format)
va_list _ArgList;extern
__attribute__
((__format__( ,gnu_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
__attribute__ (()__cdecl__)__mingw_snprintf (char* , __restrict__ ssize_t , nconst char * , __restrict__ format. ..);extern
__attribute__
((__format__( ,gnu_printf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)__mingw_printf (constchar * , __restrict__ . ..) __attribute__ ( ()__nothrow__);extern
__attribute__
((__format__( ,gnu_printf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)__mingw_vprintf ( constchar * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
((__format__( ,gnu_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_fprintf ( *FILE , __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
((__format__( ,gnu_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_vfprintf ( *FILE , __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
((__format__( ,gnu_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_sprintf ( char* , __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
((__format__( ,gnu_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_vsprintf ( char* , __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);extern
__attribute__
((__format__( ,gnu_printf2 ,3 )))__attribute__ ((nonnull( 1,2)))int
__attribute__ (()__cdecl__)__mingw_asprintf (char* *, __restrict__ const char * , __restrict__ . ..)__attribute__ ( ()__nothrow__);extern
__attribute__
((__format__( ,gnu_printf2 ,0 )))__attribute__ ((nonnull( 1,2)))int
__attribute__ (()__cdecl__)__mingw_vasprintf (char* *, __restrict__ const char * , __restrict__ ) va_list__attribute__ ( ()__nothrow__);506
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
((__format__( ,ms_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)fprintf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...);__attribute__
((__format__( ,ms_printf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)printf (constchar * , __restrict__ _Format...);__attribute__
((__format__( ,ms_printf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)sprintf (char* , __restrict__ _Destconstchar * , __restrict__ _Format...); __attribute__
((__format__( ,ms_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)vfprintf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format)va_list _ArgList;__attribute__
((__format__( ,ms_printf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)vprintf (constchar * , __restrict__ _Format)va_list _ArgList;__attribute__
((__format__( ,ms_printf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)vsprintf (char* , __restrict__ _Destconstchar * , __restrict__ _Format)va_list _Args; __attribute__
((__format__( ,ms_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)fscanf (*FILE , __restrict__ _Fileconstchar * , __restrict__ _Format...); __attribute__
((__format__( ,ms_scanf1 ,2 )))__attribute__ ( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)scanf (constchar * , __restrict__ _Format...); __attribute__
((__format__( ,ms_scanf2 ,3 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)sscanf (constchar * , __restrict__ _Srcconstchar * , __restrict__ _Format...); #
pragmaGCC diagnostic push #
pragmaGCC diagnostic ignored "-Wshadow"__attribute__
((__format__( ,ms_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)__ms_vscanf (constchar * , __restrict__ Format) va_list argp;__attribute__
((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__ms_vfscanf ( *FILE , __restrict__ fpconst char * , __restrict__ Format)va_list argp;__attribute__
((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__ms_vsscanf ( constchar * , __restrict__ _Strconstchar * , __restrict__ Format)va_list argp;static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
vfscanf ( *FILE ,__streamconst char * ,__format) __builtin_va_list __local_argvreturn
{
__ms_vfscanf ( ,__stream, __format) __local_argv;}
static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
((__format__( ,ms_scanf2 ,0 )))__attribute__ ( (__nonnull__( 2)))int
vsscanf ( constchar * , __restrict__ __sourceconst char * , __restrict__ __format) __builtin_va_list __local_argvreturn
{
__ms_vsscanf (, __source, __format) __local_argv ;}
static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
((__format__( ,ms_scanf1 ,0 )))__attribute__ ( (__nonnull__( 1)))int
vscanf (constchar * ,__format) __builtin_va_list __local_argvreturn
{
__ms_vscanf ( ,__format) __local_argv;}
#
pragmaGCC diagnostic pop __attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_filbuf (*FILE )_File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_flsbuf (int, _Ch*FILE )_File;__attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)_fsopen (constchar * ,_Filenameconstchar * ,_Modeint) _ShFlag;void
__attribute__ (()__cdecl__)clearerr (*FILE )_File;int
__attribute__ (()__cdecl__)fclose (*FILE )_File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fcloseall (void);__attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)_fdopen (int, _FileHandleconstchar * )_Mode;int
__attribute__ (()__cdecl__)feof (*FILE )_File;int
__attribute__ (()__cdecl__)ferror (*FILE )_File;int
__attribute__ (()__cdecl__)fflush (*FILE )_File;int
__attribute__ (()__cdecl__)fgetc (*FILE )_File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fgetchar (void);int
__attribute__ (()__cdecl__)fgetpos (*FILE , __restrict__ _File fpos_t* ) __restrict__ _Pos;int
__attribute__ (()__cdecl__)fgetpos64 (*FILE , __restrict__ _File fpos_t* ) __restrict__ _Pos;char
* __attribute__(()__cdecl__)fgets (char* , __restrict__ _Bufint, _MaxCount*FILE ) __restrict__ _File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fileno (*FILE )_File;__attribute__
( ()__dllimport__)char * __attribute__(()__cdecl__)_tempnam (constchar * ,_DirNameconstchar * )_FilePrefix;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_flushall (void);*
FILE __attribute__(()__cdecl__)fopen (constchar * , __restrict__ _Filenameconstchar * ) __restrict__ _Mode; *
FILE fopen64(constchar * , __restrict__ filenameconstchar * ) __restrict__ mode;int
__attribute__ (()__cdecl__)fputc (int, _Ch*FILE )_File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fputchar (int) _Ch;int
__attribute__ (()__cdecl__)fputs (constchar * , __restrict__ _Str*FILE ) __restrict__ _File;size_t
__attribute__ (()__cdecl__)fread (void* , __restrict__ _DstBufsize_t, _ElementSizesize_t, _Count*FILE ) __restrict__ _File;*
FILE __attribute__(()__cdecl__)freopen (constchar * , __restrict__ _Filenameconstchar * , __restrict__ _Mode*FILE ) __restrict__ _File; int
__attribute__ (()__cdecl__)fsetpos (*FILE ,_Fileconstfpos_t * )_Pos;int
__attribute__ (()__cdecl__)fsetpos64 (*FILE ,_Fileconstfpos_t * )_Pos;int
__attribute__ (()__cdecl__)fseek (*FILE ,_Filelong, _Offsetint) _Origin;long
__attribute__ (()__cdecl__)ftell (*FILE )_File;631
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__extension__ __attribute__ (()__cdecl__)_fseeki64 (*FILE ,_Filelonglong , _Offsetint) _Origin;long
__extension__ long __attribute__ (()__cdecl__)_ftelli64 (*FILE )_File;int
fseeko64 (*FILE, stream, _off64_t offsetint ) whence;int
fseeko (*FILE, stream, _off_t offsetint ) whence;ftello
_off_t (*FILE ) stream;ftello64
_off64_t (*FILE ) stream;654
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 size_t
__attribute__ (()__cdecl__)fwrite (constvoid * , __restrict__ _Strsize_t, _Sizesize_t, _Count*FILE ) __restrict__ _File;int
__attribute__ (()__cdecl__)getc (*FILE )_File;int
__attribute__ (()__cdecl__)getchar (void);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_getmaxstdio (void);char
* __attribute__(()__cdecl__)gets (char* )_Buffer; int
__attribute__ (()__cdecl__)_getw (*FILE )_File;void
__attribute__ (()__cdecl__)perror (constchar * )_ErrMsg;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_pclose (*FILE )_File;__attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)_popen (constchar * ,_Commandconstchar * )_Mode;int
__attribute__ (()__cdecl__)putc (int, _Ch*FILE )_File;int
__attribute__ (()__cdecl__)putchar (int) _Ch;int
__attribute__ (()__cdecl__)puts (constchar * )_Str;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_putw (int, _Word*FILE )_File;int
__attribute__ (()__cdecl__)remove (constchar * )_Filename;int
__attribute__ (()__cdecl__)rename (constchar * ,_OldFilenameconstchar * )_NewFilename;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_unlink (constchar * )_Filename;int
__attribute__ (()__cdecl__)unlink (constchar * )_Filename; void
__attribute__ (()__cdecl__)rewind (*FILE )_File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_rmtmp (void);void
__attribute__ (()__cdecl__)setbuf (*FILE , __restrict__ _Filechar* ) __restrict__ _Buffer; __attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_setmaxstdio (int) _Max;__attribute__
( ()__dllimport__)unsigned int __attribute__ (()__cdecl__)_set_output_format (unsignedint ) _Format;__attribute__
( ()__dllimport__)unsigned int __attribute__ (()__cdecl__)_get_output_format (void);int
__attribute__ (()__cdecl__)setvbuf (*FILE , __restrict__ _Filechar* , __restrict__ _Bufint, _Modesize_t) _Size;712
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf (constchar * , __restrict__ _Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf (constchar * , __restrict__ _Srcsize_t, _MaxCountconstchar * , __restrict__ _Format...); *
FILE __attribute__(()__cdecl__)tmpfile (void); char
* __attribute__(()__cdecl__)tmpnam (char* )_Buffer;int
__attribute__ (()__cdecl__)ungetc (int, _Ch*FILE )_File;734
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf (char* , __restrict__ _Destsize_t, _Countconstchar * , __restrict__ _Format...); __attribute__
((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf (char* , __restrict__ _Destsize_t, _Countconstchar * , __restrict__ _Format)va_list _Args; 761
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 #
pragmaGCC diagnostic push #
pragmaGCC diagnostic ignored "-Wshadow"__attribute__
((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
__attribute__ (()__cdecl__)__ms_vsnprintf (char* , __restrict__ dsize_t, nconstchar * , __restrict__ format)va_list arg;
static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
((__format__( ,ms_printf3 ,0 )))__attribute__ ( (__nonnull__( 3)))int
vsnprintf ( char* , __restrict__ __streamsize_t , __nconst char * , __restrict__ __format) va_list __local_argvreturn
{
__ms_vsnprintf ( ,__stream, __n, __format) __local_argv;}
__attribute__
((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
__attribute__ (()__cdecl__)__ms_snprintf (char* , __restrict__ ssize_t , nconst char * , __restrict__ format. ..);static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
((__format__( ,ms_printf3 ,4 )))__attribute__ ( (__nonnull__( 3)))int
snprintf ( char* , __restrict__ __streamsize_t , __nconst char * , __restrict__ __format. ..)int
{
; __retval;
__builtin_va_list __local_argv__builtin_va_start (, __local_argv) __format ;=
__retval __ms_vsnprintf ( ,__stream, __n, __format) __local_argv;__builtin_va_end
() __local_argv ;return
; __retval}
#
pragmaGCC diagnostic pop 811
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf (constchar * , __restrict__ _Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_set_printf_count_output (int) _Value;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_get_printf_count_output (void);__attribute__
( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_swscanf (constwchar_t * , __restrict__ _Srcconstwchar_t * , __restrict__ _Format...);__attribute__
( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_vswscanf ( constwchar_t * , __restrict__ _Strconstwchar_t * , __restrict__ Format)va_list argp;__attribute__
( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)__mingw_wscanf (constwchar_t * , __restrict__ _Format...);__attribute__
( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)__mingw_vwscanf (constwchar_t * , __restrict__ Format) va_list argp;__attribute__
( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_fwscanf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);__attribute__
( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_vfwscanf ( *FILE , __restrict__ fpconst wchar_t * , __restrict__ Format)va_list argp;__attribute__
( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_fwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);__attribute__
( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)__mingw_wprintf (constwchar_t * , __restrict__ _Format...);__attribute__
( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_vfwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
( (__nonnull__( 1)))int
__attribute__ (()__cdecl__)__mingw_vwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
( (__nonnull__( 3)))int
__attribute__ (()__cdecl__)__mingw_snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..);__attribute__
( (__nonnull__( 3)))int
__attribute__ (()__cdecl__)__mingw_vsnwprintf ( wchar_t* , __restrict__ size_t ,const wchar_t * , __restrict__ ) va_list;__attribute__
( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_swprintf (wchar_t* , __restrict__ const wchar_t * , __restrict__ . ..);__attribute__
( (__nonnull__( 2)))int
__attribute__ (()__cdecl__)__mingw_vswprintf (wchar_t* , __restrict__ const wchar_t * , __restrict__ )va_list;1061
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__attribute__ (()__cdecl__)fwscanf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...); int
__attribute__ (()__cdecl__)swscanf (constwchar_t * , __restrict__ _Srcconstwchar_t * , __restrict__ _Format...); int
__attribute__ (()__cdecl__)wscanf (constwchar_t * , __restrict__ _Format...); int
__attribute__ (()__cdecl__)__ms_vwscanf ( constwchar_t * , __restrict__ ) va_list;int
__attribute__ (()__cdecl__)__ms_vfwscanf ( *FILE , __restrict__ constwchar_t * , __restrict__ )va_list;int
__attribute__ (()__cdecl__)__ms_vswscanf ( constwchar_t * , __restrict__ constwchar_t * , __restrict__ )va_list;static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
( (__nonnull__( 2)))int
vfwscanf ( *FILE ,__streamconst wchar_t * ,__format) __builtin_va_list __local_argvreturn
{
__ms_vfwscanf ( ,__stream, __format) __local_argv;}
static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
( (__nonnull__( 2)))int
vswscanf ( constwchar_t * , __restrict__ __sourceconst wchar_t * , __restrict__ __format) __builtin_va_list __local_argvreturn
{
__ms_vswscanf (, __source, __format) __local_argv ;}
static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
( (__nonnull__( 1)))int
vwscanf (constwchar_t * ,__format) __builtin_va_list __local_argvreturn
{
__ms_vwscanf ( ,__format) __local_argv;}
int
__attribute__ (()__cdecl__)fwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format...);int
__attribute__ (()__cdecl__)wprintf (constwchar_t * , __restrict__ _Format...);int
__attribute__ (()__cdecl__)vfwprintf (*FILE , __restrict__ _Fileconstwchar_t * , __restrict__ _Format)va_list _ArgList;int
__attribute__ (()__cdecl__)vwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;1105
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfsopen (constwchar_t * ,_Filenameconstwchar_t * ,_Modeint) _ShFlag;wint_t
__attribute__ (()__cdecl__)fgetwc (*FILE )_File;__attribute__
( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fgetwchar (void);wint_t
__attribute__ (()__cdecl__)fputwc (wchar_t, _Ch*FILE )_File;__attribute__
( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fputwchar (wchar_t) _Ch;wint_t
__attribute__ (()__cdecl__)getwc (*FILE )_File;wint_t
__attribute__ (()__cdecl__)getwchar (void);wint_t
__attribute__ (()__cdecl__)putwc (wchar_t, _Ch*FILE )_File;wint_t
__attribute__ (()__cdecl__)putwchar (wchar_t) _Ch;wint_t
__attribute__ (()__cdecl__)ungetwc (wint_t, _Ch*FILE )_File;wchar_t
* __attribute__(()__cdecl__)fgetws (wchar_t* , __restrict__ _Dstint, _SizeInWords*FILE ) __restrict__ _File;int
__attribute__ (()__cdecl__)fputws (constwchar_t * , __restrict__ _Str*FILE ) __restrict__ _File;__attribute__
( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_getws (wchar_t* )_String; __attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_putws (constwchar_t * )_Str;1183
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf (constwchar_t * , __restrict__ _Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_c (wchar_t* , __restrict__ _DstBufsize_t, _SizeInWordsconstwchar_t * , __restrict__ _Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_c (wchar_t* , __restrict__ _DstBufsize_t, _SizeInWordsconstwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf (wchar_t* , __restrict__ _Destsize_t, _Countconstwchar_t * , __restrict__ _Format...); __attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf (wchar_t* , __restrict__ _Destsize_t, _Countconstwchar_t * , __restrict__ _Format)va_list _Args; int
__attribute__ (()__cdecl__)__ms_snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..);int
__attribute__ (()__cdecl__)__ms_vsnwprintf ( wchar_t* , __restrict__ size_t ,const wchar_t * , __restrict__ ) va_list;static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)int
snwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format. ..)int
{
; r;
va_list argp__builtin_va_start
( ,argp) format;=
r _vsnwprintf ( ,s, n, format) argp;__builtin_va_end
( )argp;return
; r}
static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)int
__attribute__ (()__cdecl__)vsnwprintf ( wchar_t* , __restrict__ ssize_t , nconst wchar_t * , __restrict__ format) va_list argreturn
{
_vsnwprintf (,s,n,format)arg;}
__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf (wchar_t* , __restrict__ _Destconstwchar_t * , __restrict__ _Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf (wchar_t* , __restrict__ _Destconstwchar_t * , __restrict__ _Format)va_list _Args;1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 1 3 25
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/swprintf.inl" 3 static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
( (__nonnull__( 3)))int
vswprintf ( wchar_t* ,__streamsize_t , __countconst wchar_t * ,__format) __builtin_va_list __local_argvreturn
{
vsnwprintf (, __stream, __count, __format) __local_argv ;}
static
__attribute__ ( ()__unused__)__attribute__ __inline__ (()__cdecl__)__attribute__
( (__nonnull__( 3)))int
swprintf ( wchar_t* ,__streamsize_t , __countconst wchar_t * ,__format. ..)int
{
; __retval;
__builtin_va_list __local_argv__builtin_va_start
(, __local_argv) __format ;=
__retval vswprintf (, __stream, __count, __format) __local_argv ;__builtin_va_end
() __local_argv ;return
; __retval}
1224
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1233
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_wtempnam (constwchar_t * ,_Directoryconstwchar_t * )_FilePrefix;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf (constwchar_t * , __restrict__ _Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf (constwchar_t * , __restrict__ _Srcsize_t, _MaxCountconstwchar_t * , __restrict__ _Format...);__attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfdopen (int, _FileHandle constwchar_t * )_Mode;__attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfopen (constwchar_t * , __restrict__ _Filenameconstwchar_t * )__restrict__ _Mode; __attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wfreopen (constwchar_t * , __restrict__ _Filenameconstwchar_t * , __restrict__ _Mode*FILE ) __restrict__ _OldFile; __attribute__
( ()__dllimport__)void __attribute__ (()__cdecl__)_wperror (constwchar_t * )_ErrMsg;__attribute__
( ()__dllimport__)* FILE __attribute__(()__cdecl__)_wpopen (constwchar_t * ,_Commandconstwchar_t * )_Mode;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_wremove (constwchar_t * )_Filename;__attribute__
( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_wtmpnam (wchar_t* )_Buffer;__attribute__
( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fgetwc_nolock (*FILE )_File;__attribute__
( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_fputwc_nolock (wchar_t, _Ch*FILE )_File;__attribute__
( ()__dllimport__)wint_t __attribute__ (()__cdecl__)_ungetwc_nolock (wint_t, _Ch*FILE )_File;1290
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
( ()__dllimport__)void __attribute__ (()__cdecl__)_lock_file (*FILE )_File;__attribute__
( ()__dllimport__)void __attribute__ (()__cdecl__)_unlock_file (*FILE )_File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fclose_nolock (*FILE )_File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fflush_nolock (*FILE )_File;__attribute__
( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fread_nolock (void* , __restrict__ _DstBufsize_t, _ElementSizesize_t, _Count*FILE ) __restrict__ _File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fseek_nolock (*FILE ,_Filelong, _Offsetint) _Origin;__attribute__
( ()__dllimport__)long __attribute__ (()__cdecl__)_ftell_nolock (*FILE )_File;__attribute__
__extension__ ( ()__dllimport__)int __attribute__ (()__cdecl__)_fseeki64_nolock (*FILE ,_Filelonglong , _Offsetint) _Origin;__attribute__
__extension__ ( ()__dllimport__)long long __attribute__ (()__cdecl__)_ftelli64_nolock (*FILE )_File;__attribute__
( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fwrite_nolock (constvoid * , __restrict__ _DstBufsize_t, _Sizesize_t, _Count*FILE ) __restrict__ _File;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_ungetc_nolock (int, _Ch*FILE )_File;char
* __attribute__(()__cdecl__)tempnam (constchar * ,_Directoryconstchar * )_FilePrefix; int
__attribute__ (()__cdecl__)fcloseall (void); *
FILE __attribute__(()__cdecl__)fdopen (int, _FileHandleconstchar * )_Format; int
__attribute__ (()__cdecl__)fgetchar (void); int
__attribute__ (()__cdecl__)fileno (*FILE )_File; int
__attribute__ (()__cdecl__)flushall (void); int
__attribute__ (()__cdecl__)fputchar (int) _Ch; int
__attribute__ (()__cdecl__)getw (*FILE )_File; int
__attribute__ (()__cdecl__)putw (int, _Ch*FILE )_File; int
__attribute__ (()__cdecl__)rmtmp (void); 1332
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__attribute__ (()__cdecl__)__mingw_str_wide_utf8 ( constwchar_t * const , wptrchar * *,mbptrsize_t * ) buflen;1346
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 int
__attribute__ (()__cdecl__)__mingw_str_utf8_wide ( constchar * const, mbptrwchar_t * *, wptrsize_t * ) buflen;1355
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 void
__attribute__ (()__cdecl__)__mingw_str_free (void* )ptr;__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnl (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnle (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnlp (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnlpe (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * ,_ArgList...);__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnv (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* )_ArgList;__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnve (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* ,_ArgListconstwchar_t * const* )_Env;__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnvp (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* )_ArgList;__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_wspawnvpe (int, _Modeconstwchar_t * ,_Filenameconstwchar_t * const* ,_ArgListconstwchar_t * const* )_Env;1385
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 3 __attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnv (int, _Modeconstchar * ,_Filenameconstchar * const* )_ArgList;__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnve (int, _Modeconstchar * ,_Filenameconstchar * const* ,_ArgListconstchar * const* )_Env;__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnvp (int, _Modeconstchar * ,_Filenameconstchar * const* )_ArgList;__attribute__
( ()__dllimport__)intptr_t __attribute__ (()__cdecl__)_spawnvpe (int, _Modeconstchar * ,_Filenameconstchar * const* ,_ArgListconstchar * const* )_Env;#
pragmapack ()pop1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 1 3 9
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 1 3 10
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 2 3 28
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 __attribute__
( ()__dllimport__)errno_t __attribute__ (()__cdecl__)clearerr_s (*FILE )_File;size_t
__attribute__ (()__cdecl__)fread_s (void* ,_DstBufsize_t, _DstSizesize_t, _ElementSizesize_t, _Count*FILE )_File;471
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 int
__attribute__ (()__cdecl__)fprintf_s (*FILE ,_Fileconstchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fscanf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);int
__attribute__ (()__cdecl__)printf_s (constchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scanf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scanf_s_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_c (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_c (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fscanf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_sscanf_l (constchar * ,_Srcconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_sscanf_s_l (constchar * ,_Srcconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)sscanf_s (constchar * ,_Srcconstchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_s (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_l (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snscanf_s_l (constchar * ,_Srcsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);int
__attribute__ (()__cdecl__)vfprintf_s (*FILE ,_Fileconstchar * ,_Format)va_list _ArgList;int
__attribute__ (()__cdecl__)vprintf_s (constchar * ,_Format)va_list _ArgList;int
__attribute__ (()__cdecl__)vsnprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__
(()dllimport)int __attribute__ (()__cdecl__)vsprintf_s (char* ,_DstBufsize_t, _Sizeconstchar * ,_Format)va_list _ArgList;__attribute__
(()dllimport)int __attribute__ (()__cdecl__)sprintf_s (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_s (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_p (*FILE ,_Fileconstchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_p (constchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_p (char* ,_Dstsize_t, _MaxCountconstchar * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_p (*FILE ,_Fileconstchar * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_p (constchar * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_p (char* ,_Dstsize_t, _MaxCountconstchar * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_p (constchar * ,_Format...);__attribute__
(()dllimport)int __attribute__ (()__cdecl__)_vscprintf_p (constchar * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_p_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_p_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_p_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_p_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_l (char* ,_DstBufconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_p_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_l (char* ,_DstBufconstchar * ,_Format,_locale_t)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_p_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scprintf_p_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vscprintf_p_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_printf_s_l (constchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vprintf_s_l (constchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fprintf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vfprintf_s_l (*FILE ,_Fileconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_sprintf_s_l (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsprintf_s_l (char* ,_DstBufsize_t, _DstSizeconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_s_l (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_s_l (char* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snprintf_c_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnprintf_c_l (char* ,_DstBufsize_t, _MaxCountconstchar * ,,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)errno_t __attribute__ (()__cdecl__)fopen_s (*FILE *,_Fileconstchar * ,_Filenameconstchar * )_Mode;__attribute__
( ()__dllimport__)errno_t __attribute__ (()__cdecl__)freopen_s (*FILE*, _Fileconst char * ,_Filenameconst char * ,_Mode* FILE )_Stream;__attribute__
( ()__dllimport__)char *__attribute__ (()__cdecl__)gets_s (char*,rsize_t);__attribute__
( ()__dllimport__)errno_t __attribute__ (()__cdecl__)tmpnam_s (char*,rsize_t);__attribute__
( ()__dllimport__)wchar_t * __attribute__(()__cdecl__)_getws_s (wchar_t* ,_Strsize_t) _SizeInWords;739
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/sec_api/stdio_s.h" 3 int
__attribute__ (()__cdecl__)fwprintf_s (*FILE ,_Fileconstwchar_t * ,_Format...);int
__attribute__ (()__cdecl__)wprintf_s (constwchar_t * ,_Format...);int
__attribute__ (()__cdecl__)vfwprintf_s (*FILE ,_Fileconstwchar_t * ,_Format)va_list _ArgList;int
__attribute__ (()__cdecl__)vwprintf_s (constwchar_t * ,_Format)va_list _ArgList;int
__attribute__ (()__cdecl__)vswprintf_s (wchar_t* ,_Dstsize_t, _SizeInWordsconstwchar_t * ,_Format)va_list _ArgList;int
__attribute__ (()__cdecl__)swprintf_s (wchar_t* ,_Dstsize_t, _SizeInWordsconstwchar_t * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_s (wchar_t* ,_DstBufsize_t, _DstSizeInWordssize_t, _MaxCountconstwchar_t * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_s (wchar_t* ,_DstBufsize_t, _DstSizeInWordssize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_s_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_s_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizeconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizeconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_s_l (wchar_t* ,_DstBufsize_t, _DstSizesize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fwscanf_s_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_swscanf_s_l (constwchar_t * ,_Srcconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)swscanf_s (constwchar_t * ,_Srcconstwchar_t * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_s (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_s_l (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_wscanf_s_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wfopen_s (*FILE *,_Fileconstwchar_t * ,_Filenameconstwchar_t * )_Mode;__attribute__
( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wfreopen_s (*FILE *,_Fileconstwchar_t * ,_Filenameconstwchar_t * ,_Mode*FILE )_OldFile;__attribute__
( ()__dllimport__)errno_t __attribute__ (()__cdecl__)_wtmpnam_s (wchar_t* ,_DstBufsize_t) _SizeInWords;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_p (*FILE ,_Fileconstwchar_t * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_p (constwchar_t * ,_Format...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_p (*FILE ,_Fileconstwchar_t * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_p (constwchar_t * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_p (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format...);__attribute__
(()dllimport)int __attribute__ (()__cdecl__)_vswprintf_p (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_p (constwchar_t * ,_Format...);__attribute__
(()dllimport)int __attribute__ (()__cdecl__)_vscwprintf_p (constwchar_t * ,_Format)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_wprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fwprintf_p_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vfwprintf_p_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_c_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_swprintf_p_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_c_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vswprintf_p_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_scwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf_p_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snwprintf_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vsnwprintf_l (wchar_t* ,_DstBufsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)__swprintf_l (wchar_t* ,_Destconstwchar_t * ,_Format,_locale_t _Plocinfo...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)__vswprintf_l (wchar_t* ,_Destconstwchar_t * ,_Format,_locale_t _Plocinfo)va_list _Args;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_vscwprintf_l (constwchar_t * ,_Format,_locale_t _Locale)va_list _ArgList;__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_fwscanf_l (*FILE ,_Fileconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_swscanf_l (constwchar_t * ,_Srcconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_snwscanf_l (constwchar_t * ,_Srcsize_t, _MaxCountconstwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)int __attribute__ (()__cdecl__)_wscanf_l (constwchar_t * ,_Format,_locale_t _Locale...);__attribute__
( ()__dllimport__)size_t __attribute__ (()__cdecl__)_fread_nolock_s (void* ,_DstBufsize_t, _DstSizesize_t, _ElementSizesize_t, _Count*FILE )_File;1398
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 1
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/_mingw_print_pop.h" 1 3 1400
# "C:/MCU/mingw64/x86_64-w64-mingw32/include/stdio.h" 2 3 2
# "main.c" 2 3
# "main.c" int
main ()printf {
("Hello, World!\n");return
0 ;}
.
hello.s
"main.c"file .
.text
;def __main. 2scl ;. 32type ;. .endef
.section ,rdata"dr".
:LC0.
"Hello, World!."ascii .
.text
;globl main
.def main2 ;scl .32 ;type .. :endef
%seh_proc main
main.
pushq %rbp
%seh_pushreg ,rbp
movq %rsp. %rbp
,seh_setframe 0rbp32 ,
subq $%. 32rsp
.seh_stackalloc .
LC0seh_endprologue
call __main
leaq (%),rip%0 ,rcx
call puts
movl $%32 ,eax
addq $%% .rsp
popq .rbp
ret
"GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"seh_endproc
.ident ;
.def puts2 ;scl .32 ;type .: 00endef
hello.o
没找到以二进制文本查看hello.o的办法。
下面是在vscode中使用插件打开的,以十六进制显示并自动生成了一下注解的hello.o文件的内容。
嗯…
咱也看不懂啥意思…
Offset01 02 03 04 05 06 07 08 09 0 0 0A 0B 0C 0FD 00000000E :
6486 07 00 00 00 00 00 00 02 00 00 14 00 00 00 . . d.............00000010:
0000 04 00 2 74 65E 78 74 00 00 00 00 00 00 00 . . .....text.....00000020:
0000 00 00 30 00 00 00 2 01 00C 00 01 00 C4 00 . . ..0...,.....D.00000030:
0000 00 00 03 00 00 00 20 00 50 60 2 64 61E 74 . . .........00000040P`:dat
6100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . . a.............00000050:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . . ..............00000060:
4000 50 2 62 C0 73E 73 00 00 00 00 00 00 00 00 . . @.P@.bss......00000070:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . . ..............00000080:
0000 00 00 00 00 00 00 80 00 50 2 72 C0 64E 61 . . .........00000090P@:rda
7461 00 00 00 00 00 00 00 00 00 00 10 00 00 00 . . ta............000000:
5a001 00C 00 00 00 00 00 00 00 00 00 00 00 00 00 . . \.............000000:
40b000 50 40 2 78 64E 61 74 61 00 00 00 00 00 00 . . @.P@.xdata....000000:
00c000 00 00 0 00 00C 00 6 01 00C 00 00 00 00 00 . . ........l.....000000:
00d000 00 00 00 00 00 00 40 00 30 40 2 70 64E 61 . . .......0.@000000e0@:pda
7461 00 00 00 00 00 00 00 00 00 00 0 00 00C 00 . . ta............000000f0
:7801 00 00 01 00 E2 00 00 00 00 00 03 00 00 00 . . x...b.........00000100:
4000 30 40 2F 34 00 00 00 00 00 00 00 00 00 00 .0 / @4.@.........00000110:
0000 00 00 40 00 00 00 84 01 00 00 00 00 00 00 . . ....@.........00000120:
0000 00 00 00 00 00 00 40 00 50 40 55 48 89 . . E5 ........@00000130P@UH:e
4883 20 00 EC 00 E8 00 00 48 8 0 00D 00D 00 00 . . H.l.h....H....00000140:
0000 E8 00 00 00 00 B8 00 00 48 83 20 5 C4 . .D C3 h..8......H]D00000150:C
9090 90 90 90 90 90 90 90 90 90 90 48 65 6 6 .C .C ..........00000160:Hell
6F2 20 57C 6F 72 6 64 21C 00 00 00 01 08 03 05 , . o!.World......00000170:
0832 04 03 01 50 00 00 00 00 00 00 24 00 00 00 .2 . ....P......$.00000180:
0000 00 00 47 43 43 3 20 28A 78 38 36 5F 36 34 . . ..:.GCC(00000190:x86_64
270 6FD 73 69 78 2 73 65D 68 2 72 65D 76 30 2 - -C -posix,seh000001rev0:
20a042 75 69 6 74 20C 62 79 20 4 69 6D 47 57E 2 . .D .Built-by000001MinGW:
57b036 34 20 70 72 6F 6 65 63A 74 29 20 38 2 31 .E ) W64.8project.1000001:
2c030 00E 00 09 00 00 00 12 00 00 00 04 00 10 00 .0 . .............000001:
00d000 0 00 00A 00 04 00 15 00 00 00 13 00 00 00 . . ..............000001e0:
0400 00 00 00 00 04 00 00 00 03 00 04 00 00 00 . . ..............000001f0
:0400 00 00 03 00 08 00 00 00 0 00 00C 00 03 00 . . ..............00000200:
266 69E 6 65 00C 00 00 00 00 00 00 00 00 FE FF . . .file.....~...00000210:
6701 6 61 69D 6 2 63E 00E 00 00 00 00 00 00 00 . . g.main.c......00000220:
0000 00 00 6 61 69D 6 00 00E 00 00 00 00 00 00 . . ....main......00000230:
0100 20 00 02 01 00 00 00 00 00 00 00 00 00 00 . . ..............00000240:
0000 00 00 00 00 00 00 2 74 65E 78 74 00 00 00 . . .........text.00000250:
0000 00 00 01 00 00 00 03 01 24 00 00 00 03 00 . . ..........$...00000260:
0000 00 00 00 00 00 00 00 00 00 00 2 64 61E 74 . . ...........00000270:dat
6100 00 00 00 00 00 00 02 00 00 00 03 01 00 00 . . a.............00000280:
0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . . ..............00000290:
262 73E 73 00 00 00 00 00 00 00 00 03 00 00 00 . . .bss..........000002:
03a001 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . . ..............000002:
00b000 00 00 2 72 64E 61 74 61 00 00 00 00 00 00 . . .....rdata....000002:
04c000 00 00 03 01 0 00 00E 00 00 00 00 00 00 00 . . ..............000002:
00d000 00 00 00 00 00 00 2 78 64E 61 74 61 00 00 . . .........xdata000002e0:
0000 00 00 05 00 00 00 03 01 0 00 00C 00 00 00 . . ..............000002f0
:0000 00 00 00 00 00 00 00 00 00 00 2 70 64E 61 . . ...........00000300:pda
7461 00 00 00 00 00 00 06 00 00 00 03 01 0 00 .C . ta............00000310:
0000 03 00 00 00 00 00 00 00 00 00 00 00 00 00 . . ..............00000320:
0000 00 00 0F 00 00 00 00 00 00 00 07 00 00 00 . . ..............00000330:
0301 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 . . ?.............00000340:
0000 00 00 5F 5F 6 61 69D 6 00 00E 00 00 00 00 . . ....__main....00000350:
0000 20 00 02 00 70 75 74 73 00 00 00 00 00 00 . . ......puts....00000360:
0000 00 00 20 00 02 00 1 00 00A 00 2 72 64E 61 . . ...........00000370:rda
7461 24 7 7 7A 00A 2A 72 64E 61 74 61 24 7 7 .A .A ta$zzz00000380:rdata$zz
700 .A z
CPU输入端:是信号进入CPU的起点。物质上:CPU的组成中有这样一组这样门,门的输入端专门和外部连接,从外部获取信号(指令和数据)。
CPU输出端:是信号在CPU中传递的终点。物质上:CPU的组成中有这样一组这样门,门的输出端专门和外部连接,CPU运行的结果以电平信号写在该端口,被外界读取。 ↩︎对CPU读写:要么写高电平,要么写低电平,端口只有这两种状态。 ↩︎
机器码:一组序列,序列中只包含0和1,能够直接被CPU使用。为什么只包含0和1?因为序列中的每个0和1都对应着一个输入端口的电平状态,1代表高电平,0代表低电平。
总结一下:端口拥有状态的数量,决定机器码包含多少种状态。传说中的量子/光子计算机每个光子拥有多个状态,量子计算机的机器码就就有可能包含3,4,5… ↩︎仅个人学习笔记,肯定有些理解不到位的地方,读者见谅哈!真错了欢迎指正,一起学习一起进步,那种扯淡、吵架、秀优越的就别打字了… ↩︎
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)