Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled diff
Created
10 years ago
Diff never expires
Clear
Export
Share
Explain
0 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
45 lines
Copy
2 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
47 lines
Copy
Bar::~Bar():
Bar::~Bar():
mov QWORD PTR [rdi], OFFSET FLAT:vtable for Bar+16
mov QWORD PTR [rdi], OFFSET FLAT:vtable for Bar+16
mov edx, 4
mov edx, 4
mov esi, OFFSET FLAT:Bar::~Bar()::__func__
mov esi, OFFSET FLAT:Bar::~Bar()::__func__
mov edi, OFFSET FLAT:std::cout
mov edi, OFFSET FLAT:std::cout
jmp 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)
jmp 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)
Bar::~Bar():
Bar::~Bar():
push rbx
push rbx
mov esi, OFFSET FLAT:Bar::~Bar()::__func__
mov esi, OFFSET FLAT:Bar::~Bar()::__func__
mov rbx, rdi
mov rbx, rdi
mov QWORD PTR [rdi], OFFSET FLAT:vtable for Bar+16
mov QWORD PTR [rdi], OFFSET FLAT:vtable for Bar+16
mov edx, 4
mov edx, 4
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)
mov rdi, rbx
mov rdi, rbx
mov esi, 8
mov esi, 8
pop rbx
pop rbx
jmp operator delete(void*, unsigned long)
jmp operator delete(void*, unsigned long)
main:
main:
sub rsp, 24
sub rsp, 24
mov rdi, rsp
mov rdi, rsp
call Foo::Foo()
call Foo::Foo()
mov esi, OFFSET FLAT:Bar::~Bar()::__func__
mov esi, OFFSET FLAT:Bar::~Bar()::__func__
mov edi, OFFSET FLAT:std::cout
mov edi, OFFSET FLAT:std::cout
mov QWORD PTR [rsp], OFFSET FLAT:vtable for Bar+16
mov QWORD PTR [rsp], OFFSET FLAT:vtable for Bar+16
call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
xor eax, eax
xor eax, eax
add rsp, 24
add rsp, 24
ret
ret
sub rsp, 8
sub rsp, 8
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
jmp __cxa_atexit
jmp __cxa_atexit
Bar::~Bar()::__func__:
Bar::~Bar()::__func__:
.string "~Bar"
.string "~Bar"
Copy
Copied
Copy
Copied
typeinfo name for VirtualDestructor:
typeinfo for VirtualDestructor:
typeinfo name for Foo:
typeinfo name for Foo:
typeinfo for Foo:
typeinfo for Foo:
typeinfo name for Bar:
typeinfo name for Bar:
typeinfo for Bar:
typeinfo for Bar:
vtable for Bar:
vtable for Bar:
Saved diffs
Original text
Open file
Bar::~Bar(): mov QWORD PTR [rdi], OFFSET FLAT:vtable for Bar+16 mov edx, 4 mov esi, OFFSET FLAT:Bar::~Bar()::__func__ mov edi, OFFSET FLAT:std::cout jmp 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) Bar::~Bar(): push rbx mov esi, OFFSET FLAT:Bar::~Bar()::__func__ mov rbx, rdi mov QWORD PTR [rdi], OFFSET FLAT:vtable for Bar+16 mov edx, 4 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) mov rdi, rbx mov esi, 8 pop rbx jmp operator delete(void*, unsigned long) main: sub rsp, 24 mov rdi, rsp call Foo::Foo() mov esi, OFFSET FLAT:Bar::~Bar()::__func__ mov edi, OFFSET FLAT:std::cout mov QWORD PTR [rsp], OFFSET FLAT:vtable for Bar+16 call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) xor eax, eax add rsp, 24 ret sub rsp, 8 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 jmp __cxa_atexit Bar::~Bar()::__func__: .string "~Bar" typeinfo name for Foo: typeinfo for Foo: typeinfo name for Bar: typeinfo for Bar: vtable for Bar:
Changed text
Open file
Bar::~Bar(): mov QWORD PTR [rdi], OFFSET FLAT:vtable for Bar+16 mov edx, 4 mov esi, OFFSET FLAT:Bar::~Bar()::__func__ mov edi, OFFSET FLAT:std::cout jmp 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) Bar::~Bar(): push rbx mov esi, OFFSET FLAT:Bar::~Bar()::__func__ mov rbx, rdi mov QWORD PTR [rdi], OFFSET FLAT:vtable for Bar+16 mov edx, 4 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) mov rdi, rbx mov esi, 8 pop rbx jmp operator delete(void*, unsigned long) main: sub rsp, 24 mov rdi, rsp call Foo::Foo() mov esi, OFFSET FLAT:Bar::~Bar()::__func__ mov edi, OFFSET FLAT:std::cout mov QWORD PTR [rsp], OFFSET FLAT:vtable for Bar+16 call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) xor eax, eax add rsp, 24 ret sub rsp, 8 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 jmp __cxa_atexit Bar::~Bar()::__func__: .string "~Bar" typeinfo name for VirtualDestructor: typeinfo for VirtualDestructor: typeinfo name for Foo: typeinfo for Foo: typeinfo name for Bar: typeinfo for Bar: vtable for Bar:
Find difference