链接属性

链接属性分为:外连接、内链接、无链接;

1.外连接:外部链接属性,也就是可以在整个程序范围内进行链接,譬如函数和全局变量;

2.内链接:内部链接属性,也就是只可以在当前C文件内部进行链接,不能在当前C文件外的文件中进行访问、链接,如static修饰的函数、全局变量属于内部链接,因此可知static关键子的一个用法就是改变变量或者函数的链接属性为内部链接,只能使得被修饰的变量只能在当前文件中被使用;

3.无链接:这个符号本身不参与链接,所有的局部变量(无论是auto、static修饰)都是无链接的;

4.由于函数和全局变量的链接属性为外链接,则函数名和全局变量名会存在同名冲突

高级语言解决重名冲突的做法为:命名空间(namespace),指定使用的变量名是存在于哪个命名空间的变量;

C语言中解决重名冲突的做法为:改变变量的链接属性,将不会在其他文件中使用的函数或者全局变量使用static修饰,使其链接属性为内部链接。

你可能感兴趣的:(链接属性)