Overview
Explore an innovative C++ technique for obfuscating logs without external scripts in this CppNow 2023 conference talk. Discover how to execute uninvoked C++ code to create a logger with vanishing strings, using less than 20 lines of C++17 code. Learn about the DO_ON_INIT utility, its development process, and implementation details. Understand how this general-use utility allows running custom code at program initialization, enabling the creation of a no-strings-attached logger with an automatically-generated decoding facility. Gain insights into emergent behavior in C++, where unrelated language features combine in novel ways. Delve into the potential applications of this technique beyond logging and consider how it might inspire your own innovative C++ solutions.
Syllabus
Intro
Overview
Hashing Strings
Constant Evaluation
Member Instantiation
Link Forever
Inline
Cost
Recap
Lambda
First attempt
Next attempt
Last attempt
One in it
Promise fulfilled
First contribution
Vlogging
Macros
Basic Scheme
breakpoint
demo
GCC issues
Crazy solution
GCC limitation
GCC vendorspecific extension
Static Lambda
code explanation
production
other ideas
Fragments
Macro
Failed
Possible Solutions
Live Demo
Taught by
CppNow