Subscribe to my newsletter, support me on Patreon or by PayPal donation.
It’s my second time I’ve beed on Code::Dive conference in Wroclaw. This year it was on 15-16 November. We had a really great speakers such as Chandler Carruth, Sean Parent and Mark Issacson.
It was amazing opportunity to hear talks on compiler optimizations, clang tools, undefined behaviour, C++ history and future and best practices. All talks should be available on youtube shortly.
Really many-many thanks to Nokia for such a great free conference! Looking forward to attend next year (probably as a speaker).
Things I learned from this conference:
If you do not turn off exceptions, compiler will generate emergency buffer. This memory space is needed for example, when you’re throwing out_of_memory
exception. Some amount of memory should be allocated somewhere, but you are already out of memory, so you need some preallocated storage for it. More on this topic here: Emergency buffer for exceptions.
Passing -fno-exceptions
to the compiler will instruct it to turn every throw
calls in STL into std::abort
. Also compilers are able to detect lack of catch
‘es in your program. In this case they will convert each throw
call in your programm to terminate
, because noone will catch it either way. More details on stackoverflow question.
Finally I got to know that dereferencing of nullptr is undefined behaviour. Because on some platforms (with direct memory mapping) dereferencing null pointer means accessing memory with offset 0x0. More information on stackoverflow question.
“No raw synchronization primitives” by Sean Parent. Coming soon on youtube and Code::Dive.
“Try to avoid inline
keyword” by Chandler Carruth. Coming soon on youtube and Code::Dive.