简述全局符号解析的规则?
【正确答案】:●规则1:强符号不能多次定义,否则链接错误。
●规则2:若出现一次强符号定义和多次COMMON符号或弱符号定义,则按强符号定义为准。
●规则3:若同时出现COMMON符号定义和弱符号定义,则按COMMON符号定义为准。
●规则4:若一个COMMON符号出现多次定义。则以其中占空间最大的一个为准。因为符号表中仅记录COMMON符号的最小长度,而不会记录变量的类型,因此在链接器确定多重COMMON符号的唯一定义时,以最小长度中的最大值为准进行符号解析.能够保证满足所有同名COMMON符号的空间要求。
●规则5:若使用编译选项-fno-common,则不考虑COMMON符号,相当于将COMMON符号作为强符号处理。