众所周知,别的源码文件只要包含了某函数声明式所在文件,那么该源码文件就可以使用这个函数了,这说明函数默认的连接属性是外部的,并且还是静态的。当然你也可以用extern去修饰函数的声明式,但这是多此一举的。
你也可以在函数的声明式和定义式上都加上static把这个函数限定在某一源码文件中。
这里还涉及到内联和非内联函数的区别。内联函数一般是在头文件中定义的,因此源文件中无需再次定义了,非内联函数只能在某一源码文件中定义一次。其实,说白了,这个函数也都必须满足只定义一次原则。
众所周知,别的源码文件只要包含了某函数声明式所在文件,那么该源码文件就可以使用这个函数了,这说明函数默认的连接属性是外部的,并且还是静态的。当然你也可以用extern去修饰函数的声明式,但这是多此一举的。
你也可以在函数的声明式和定义式上都加上static把这个函数限定在某一源码文件中。
这里还涉及到内联和非内联函数的区别。内联函数一般是在头文件中定义的,因此源文件中无需再次定义了,非内联函数只能在某一源码文件中定义一次。其实,说白了,这个函数也都必须满足只定义一次原则。