c中的static函数

一般认为c中的static函数只的就是静态函数,也就是只能在该文件中被调用,其他的文件不能调用这个函数,

而不加static的函数,就可以在别的文件中调用。

本来以为就这么点区别,但是,今天看了一本书,原来这个区别还能导致如下的一种情况,做个记录。

若一个内联函数的定义没有使用关键字static,那么gcc就会假设其他程序文件中也对这个函数有调用,因此,一个非静态内联函数总是会被编译出自己的汇编代码来。

原文地址:https://www.cnblogs.com/cyttina/p/2960264.html