When linking object files from different languages, which part of the object files helps the linker understand the function prototypes and data structures?

Symbol tables are a crucial part of object files that contain information about the symbols (such as functions, variables, and data structures) defined and used in the source code. This information includes the symbol names, types, locations, and sometimes additional attributes. When linking object files from different languages, the linker relies on the symbol tables to understand the function prototypes and data structures, allowing it to resolve references and perform necessary linking tasks accurately.