程序链接中的符号形式主要涉及以下三种类型:
Global symbols(全局符号)
定义:由模块m定义,并且能被其他模块引用的符号。
举例:非static C函数和非static的C全局变量(指不带static的函数和全局变量)。例如,在main.c中定义的全局变量名buf。
External symbols(外部符号)
定义:由其他模块定义,并被模块m引用的全局符号。
举例:例如,在main.c中引用的其他模块中定义的函数名swap。
Local symbols(局部符号)
定义:仅由模块m定义和引用的本地符号。
举例:在main.c中定义的局部变量或函数,仅在该模块内部可见和可用。
这些符号在程序链接过程中起到关键作用,帮助编译器和链接器正确识别和解析函数和变量的引用关系,确保程序在运行时能够正确链接和加载所需的符号。