Symbols: The Linker’s Address Book
摘要
You've written a perfectly working function in one file and need to call it from another. It seems simple enough, just declare it extern and call it. But have you ever wondered how the linker actually finds your function among potentially thousands of others spread across dozens of object files? Or why sometimes you get "multiple definition" errors while other times the linker silently picks one version? The answer lies in symbols—the linker's sophisticated addressing system that makes modular programming possible.