Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
11년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
41 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
123 행
복사
15 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
99 행
복사
g++ --version
g++ --version
g++ -std=c++11 -O2 -Wall -pedantic -pthread main.cpp -S -masm=intel -o test.asm && cat test.asm | c++filt
g++ -std=c++11 -O2 -Wall -pedantic -pthread main.cpp -S -masm=intel -o test.asm && cat test.asm | c++filt
g++ (GCC) 5.2.0
g++ (GCC) 5.2.0
Copyright (C) 2015 Free Software Foundation, Inc.
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.file "main.cpp"
.file "main.cpp"
.intel_syntax noprefix
.intel_syntax noprefix
.section .rodata.str1.1,"aMS",@progbits,1
.section .rodata.str1.1,"aMS",@progbits,1
복사
복사됨
복사
복사됨
.LC
1
:
.LC
0
:
.string "visible effect\n"
.string "visible effect\n"
.section .text.unlikely,"ax",@progbits
.section .text.unlikely,"ax",@progbits
복사
복사됨
복사
복사됨
.LCOLDB
2
:
.LCOLDB
1
:
.section .text.startup,"ax",@progbits
.section .text.startup,"ax",@progbits
복사
복사됨
복사
복사됨
.LHOTB
2
:
.LHOTB
1
:
.p2align 4,,15
.p2align 4,,15
.globl main
.globl main
.type main, @function
.type main, @function
main:
main:
.LFB1408:
.LFB1408:
.cfi_startproc
.cfi_startproc
sub rsp, 40
sub rsp, 40
.cfi_def_cfa_offset 48
.cfi_def_cfa_offset 48
mov rax, QWORD PTR std::cin[rip]
mov rax, QWORD PTR std::cin[rip]
mov QWORD PTR [rsp], OFFSET FLAT:std::cin
mov QWORD PTR [rsp], OFFSET FLAT:std::cin
mov rax, QWORD PTR [rax-24]
mov rax, QWORD PTR [rax-24]
test BYTE PTR std::cin[rax+32], 5
test BYTE PTR std::cin[rax+32], 5
je .L2
je .L2
mov BYTE PTR [rsp+16], 0
mov BYTE PTR [rsp+16], 0
복사
복사됨
복사
복사됨
.L9:
jmp .L1
3
cmp BYTE PTR guard variable for main::itend[rip], 0
jne .L10
jmp .L1
9
.p2align 4,,10
.p2align 4,,10
.p2align 3
.p2align 3
.L7:
.L7:
mov edx, 15
mov edx, 15
복사
복사됨
복사
복사됨
mov esi, OFFSET FLAT:.LC
1
mov esi, OFFSET FLAT:.LC
0
mov edi, OFFSET FLAT:std::cout
mov edi, OFFSET FLAT:std::cout
call std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)
call std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)
복사
복사됨
복사
복사됨
.L1
0
:
.L1
3
:
movzx eax,
BYTE PTR [rsp+16]
cmp
BYTE PTR [rsp+16]
, 0
cmp al, BYTE PTR main::itend[rip+16]
jne .L7
jne .L7
복사
복사됨
복사
복사됨
mov rcx, QWORD PTR main::itend[rip]
cmp QWORD PTR [rsp], rcx
sete dl
cmp al, dl
ja .L7
xor eax, eax
xor eax, eax
add rsp, 40
add rsp, 40
.cfi_remember_state
.cfi_remember_state
.cfi_def_cfa_offset 8
.cfi_def_cfa_offset 8
ret
ret
.L2:
.L2:
.cfi_restore_state
.cfi_restore_state
lea rsi, [rsp+8]
lea rsi, [rsp+8]
mov edi, OFFSET FLAT:std::cin
mov edi, OFFSET FLAT:std::cin
mov BYTE PTR [rsp+16], 1
mov BYTE PTR [rsp+16], 1
call std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&)
call std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&)
mov rax, QWORD PTR [rsp]
mov rax, QWORD PTR [rsp]
mov rdx, QWORD PTR [rax]
mov rdx, QWORD PTR [rax]
mov rdx, QWORD PTR [rdx-24]
mov rdx, QWORD PTR [rdx-24]
test BYTE PTR [rax+32+rdx], 5
test BYTE PTR [rax+32+rdx], 5
sete BYTE PTR [rsp+16]
sete BYTE PTR [rsp+16]
복사
복사됨
복사
복사됨
jmp .L9
jmp .L1
3
.L19:
mov edi, OFFSET FLAT:guard variable for main::itend
call __cxa_guard_acquire
test eax, eax
je .L10
mov edi, OFFSET FLAT:guard variable for main::itend
mov QWORD PTR main::itend[rip], 0
mov QWORD PTR main::itend[rip+8], 0
mov BYTE PTR main::itend[rip+16], 0
call __cxa_guard_release
jmp .L1
0
.cfi_endproc
.cfi_endproc
.LFE1408:
.LFE1408:
.size main, .-main
.size main, .-main
.section .text.unlikely
.section .text.unlikely
복사
복사됨
복사
복사됨
.LCOLDE
2
:
.LCOLDE
1
:
.section .text.startup
.section .text.startup
복사
복사됨
복사
복사됨
.LHOTE
2
:
.LHOTE
1
:
.section .text.unlikely
.section .text.unlikely
복사
복사됨
복사
복사됨
.LCOLDB
3
:
.LCOLDB
2
:
.section .text.startup
.section .text.startup
복사
복사됨
복사
복사됨
.LHOTB
3
:
.LHOTB
2
:
.p2align 4,,15
.p2align 4,,15
.type _GLOBAL__sub_I_main, @function
.type _GLOBAL__sub_I_main, @function
_GLOBAL__sub_I_main:
_GLOBAL__sub_I_main:
.LFB1609:
.LFB1609:
.cfi_startproc
.cfi_startproc
sub rsp, 8
sub rsp, 8
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
mov edi, OFFSET FLAT:std::__ioinit
mov edi, OFFSET FLAT:std::__ioinit
call std::ios_base::Init::Init()
call std::ios_base::Init::Init()
mov edx, OFFSET FLAT:__dso_handle
mov edx, OFFSET FLAT:__dso_handle
mov esi, OFFSET FLAT:std::__ioinit
mov esi, OFFSET FLAT:std::__ioinit
mov edi, OFFSET FLAT:std::ios_base::Init::~Init()
mov edi, OFFSET FLAT:std::ios_base::Init::~Init()
add rsp, 8
add rsp, 8
.cfi_def_cfa_offset 8
.cfi_def_cfa_offset 8
jmp __cxa_atexit
jmp __cxa_atexit
.cfi_endproc
.cfi_endproc
.LFE1609:
.LFE1609:
.size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main
.size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main
.section .text.unlikely
.section .text.unlikely
복사
복사됨
복사
복사됨
.LCOLDE
3
:
.LCOLDE
2
:
.section .text.startup
.section .text.startup
복사
복사됨
복사
복사됨
.LHOTE
3
:
.LHOTE
2
:
.section .init_array,"aw"
.section .init_array,"aw"
.align 8
.align 8
.quad _GLOBAL__sub_I_main
.quad _GLOBAL__sub_I_main
복사
복사됨
복사
복사됨
.local main::itend
.comm main::itend,24,16
.local guard variable for main::itend
.comm guard variable for main::itend,8,8
.local std::__ioinit
.local std::__ioinit
.comm std::__ioinit,1,1
.comm std::__ioinit,1,1
.hidden __dso_handle
.hidden __dso_handle
.ident "GCC: (GNU) 5.2.0"
.ident "GCC: (GNU) 5.2.0"
.section .note.GNU-stack,"",@progbits
.section .note.GNU-stack,"",@progbits
저장된 비교 결과
원본
파일 열기
g++ --version g++ -std=c++11 -O2 -Wall -pedantic -pthread main.cpp -S -masm=intel -o test.asm && cat test.asm | c++filt g++ (GCC) 5.2.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .file "main.cpp" .intel_syntax noprefix .section .rodata.str1.1,"aMS",@progbits,1 .LC1: .string "visible effect\n" .section .text.unlikely,"ax",@progbits .LCOLDB2: .section .text.startup,"ax",@progbits .LHOTB2: .p2align 4,,15 .globl main .type main, @function main: .LFB1408: .cfi_startproc sub rsp, 40 .cfi_def_cfa_offset 48 mov rax, QWORD PTR std::cin[rip] mov QWORD PTR [rsp], OFFSET FLAT:std::cin mov rax, QWORD PTR [rax-24] test BYTE PTR std::cin[rax+32], 5 je .L2 mov BYTE PTR [rsp+16], 0 .L9: cmp BYTE PTR guard variable for main::itend[rip], 0 jne .L10 jmp .L19 .p2align 4,,10 .p2align 3 .L7: mov edx, 15 mov esi, OFFSET FLAT:.LC1 mov edi, OFFSET FLAT:std::cout call std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) .L10: movzx eax, BYTE PTR [rsp+16] cmp al, BYTE PTR main::itend[rip+16] jne .L7 mov rcx, QWORD PTR main::itend[rip] cmp QWORD PTR [rsp], rcx sete dl cmp al, dl ja .L7 xor eax, eax add rsp, 40 .cfi_remember_state .cfi_def_cfa_offset 8 ret .L2: .cfi_restore_state lea rsi, [rsp+8] mov edi, OFFSET FLAT:std::cin mov BYTE PTR [rsp+16], 1 call std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&) mov rax, QWORD PTR [rsp] mov rdx, QWORD PTR [rax] mov rdx, QWORD PTR [rdx-24] test BYTE PTR [rax+32+rdx], 5 sete BYTE PTR [rsp+16] jmp .L9 .L19: mov edi, OFFSET FLAT:guard variable for main::itend call __cxa_guard_acquire test eax, eax je .L10 mov edi, OFFSET FLAT:guard variable for main::itend mov QWORD PTR main::itend[rip], 0 mov QWORD PTR main::itend[rip+8], 0 mov BYTE PTR main::itend[rip+16], 0 call __cxa_guard_release jmp .L10 .cfi_endproc .LFE1408: .size main, .-main .section .text.unlikely .LCOLDE2: .section .text.startup .LHOTE2: .section .text.unlikely .LCOLDB3: .section .text.startup .LHOTB3: .p2align 4,,15 .type _GLOBAL__sub_I_main, @function _GLOBAL__sub_I_main: .LFB1609: .cfi_startproc sub rsp, 8 .cfi_def_cfa_offset 16 mov edi, OFFSET FLAT:std::__ioinit call std::ios_base::Init::Init() mov edx, OFFSET FLAT:__dso_handle mov esi, OFFSET FLAT:std::__ioinit mov edi, OFFSET FLAT:std::ios_base::Init::~Init() add rsp, 8 .cfi_def_cfa_offset 8 jmp __cxa_atexit .cfi_endproc .LFE1609: .size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main .section .text.unlikely .LCOLDE3: .section .text.startup .LHOTE3: .section .init_array,"aw" .align 8 .quad _GLOBAL__sub_I_main .local main::itend .comm main::itend,24,16 .local guard variable for main::itend .comm guard variable for main::itend,8,8 .local std::__ioinit .comm std::__ioinit,1,1 .hidden __dso_handle .ident "GCC: (GNU) 5.2.0" .section .note.GNU-stack,"",@progbits
수정본
파일 열기
g++ --version g++ -std=c++11 -O2 -Wall -pedantic -pthread main.cpp -S -masm=intel -o test.asm && cat test.asm | c++filt g++ (GCC) 5.2.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .file "main.cpp" .intel_syntax noprefix .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "visible effect\n" .section .text.unlikely,"ax",@progbits .LCOLDB1: .section .text.startup,"ax",@progbits .LHOTB1: .p2align 4,,15 .globl main .type main, @function main: .LFB1408: .cfi_startproc sub rsp, 40 .cfi_def_cfa_offset 48 mov rax, QWORD PTR std::cin[rip] mov QWORD PTR [rsp], OFFSET FLAT:std::cin mov rax, QWORD PTR [rax-24] test BYTE PTR std::cin[rax+32], 5 je .L2 mov BYTE PTR [rsp+16], 0 jmp .L13 .p2align 4,,10 .p2align 3 .L7: mov edx, 15 mov esi, OFFSET FLAT:.LC0 mov edi, OFFSET FLAT:std::cout call std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) .L13: cmp BYTE PTR [rsp+16], 0 jne .L7 xor eax, eax add rsp, 40 .cfi_remember_state .cfi_def_cfa_offset 8 ret .L2: .cfi_restore_state lea rsi, [rsp+8] mov edi, OFFSET FLAT:std::cin mov BYTE PTR [rsp+16], 1 call std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&) mov rax, QWORD PTR [rsp] mov rdx, QWORD PTR [rax] mov rdx, QWORD PTR [rdx-24] test BYTE PTR [rax+32+rdx], 5 sete BYTE PTR [rsp+16] jmp .L13 .cfi_endproc .LFE1408: .size main, .-main .section .text.unlikely .LCOLDE1: .section .text.startup .LHOTE1: .section .text.unlikely .LCOLDB2: .section .text.startup .LHOTB2: .p2align 4,,15 .type _GLOBAL__sub_I_main, @function _GLOBAL__sub_I_main: .LFB1609: .cfi_startproc sub rsp, 8 .cfi_def_cfa_offset 16 mov edi, OFFSET FLAT:std::__ioinit call std::ios_base::Init::Init() mov edx, OFFSET FLAT:__dso_handle mov esi, OFFSET FLAT:std::__ioinit mov edi, OFFSET FLAT:std::ios_base::Init::~Init() add rsp, 8 .cfi_def_cfa_offset 8 jmp __cxa_atexit .cfi_endproc .LFE1609: .size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main .section .text.unlikely .LCOLDE2: .section .text.startup .LHOTE2: .section .init_array,"aw" .align 8 .quad _GLOBAL__sub_I_main .local std::__ioinit .comm std::__ioinit,1,1 .hidden __dso_handle .ident "GCC: (GNU) 5.2.0" .section .note.GNU-stack,"",@progbits
비교하기