filmov
tv
CppCon 2018: Serge Guelton “C++ in Elvenland”
Показать описание
—
—
On Linux systems, compiled C++ code is generally bundled in the ELF binary
format. This talk walks through several details of the format that can help a
C++ developper to better understand the whole compilation chain, from classical
text and data sections through symbol tables down to init_array, eh_frame.
The talk walks though all the sections of a binary compiled from a simple C++
code and explain the links between c++ concepts like constant global variables,
exceptions, global constructors, ODR, symbol visibility, thread local variables
and related binary artefacts.
All these aspects will be demonstrated on a live demo using the output of the
venerable objdump and readelf commands.
—
Serge Guelton, Software Engineer, Quarkslab
Serge « sans paille » Guelton is a compiler engineer at QuarksLab where he builds an LLVM-based code obfuscator. He's also the maintainer of the Pythran compiler that turns scientific Python kernels into efficient C++ code.
—
*-----*
*--*
*-----*
—
On Linux systems, compiled C++ code is generally bundled in the ELF binary
format. This talk walks through several details of the format that can help a
C++ developper to better understand the whole compilation chain, from classical
text and data sections through symbol tables down to init_array, eh_frame.
The talk walks though all the sections of a binary compiled from a simple C++
code and explain the links between c++ concepts like constant global variables,
exceptions, global constructors, ODR, symbol visibility, thread local variables
and related binary artefacts.
All these aspects will be demonstrated on a live demo using the output of the
venerable objdump and readelf commands.
—
Serge Guelton, Software Engineer, Quarkslab
Serge « sans paille » Guelton is a compiler engineer at QuarksLab where he builds an LLVM-based code obfuscator. He's also the maintainer of the Pythran compiler that turns scientific Python kernels into efficient C++ code.
—
*-----*
*--*
*-----*