Overview
Explore the intricacies of C++'s One Definition Rule (ODR) and learn how to detect violations using ORC in this informative conference talk from ACCU 2022. Delve into the basics of ODR, understand how build systems can inadvertently cause violations, and discover ORC, a linker-wrapping tool designed to identify ODR violations in software. Follow along as Foster Brereton and Lee Thomason, experienced Adobe computer scientists, guide you through example violations, ODRV behaviors, and the inner workings of ORC. Gain insights into augmenting the linker, interpreting ODRV reports, and applying ORC to real-world scenarios like Photoshop's unit test application. Take on the ORC challenge, learn to leverage ORC for debugging, and explore potential improvements to this valuable tool. Perfect for C++ developers seeking to enhance their understanding of ODR and improve code quality.
Syllabus
Intro
The One Definition Rule
Example: One Definition Rule Violation
ODRV Behaviors
How ORC Works
Augmenting the Linker
What Does an ODRV Report Look Like?
Example: Photoshop Unit Test Application
Take the ORC challenge!
Use ORC for Debugging
Improving ORC
Taught by
ACCU Conference