Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the intricacies of symbols in programming languages, particularly in C and C++, through this comprehensive conference talk from NDC TechTown 2023. Delve into the fundamental concepts of symbols, their importance in software development, and their role in solving linker errors, creating libraries, and building executables. Gain insights into Linux ELF symbols and their Windows counterparts. Learn about the three different symbol tables in programs, the distinctions between binding and visibility, and how C/C++ linkage relates to these concepts. Discover where symbols are stored and how to view them, including global, local, weak, and unique symbols. Understand techniques for allowing users to override functions and globals, and explore how linkers handle C++ templates and inline variables. Examine which entities require symbols and which don't, and investigate symbol tables used in static and dynamic linking. Finally, grasp the differences between default and hidden visibility, along with useful idioms for working with these concepts.