88问答网
所有问题
C 语言内联函数为什么在.h中声明称 static inline *(); 为什么通常要加上static呢?
在.h中不声明成静态不行吗?
举报该问题
推荐答案 2014-08-18
可以不声明成静态的,另一方面虽然内联函数可以加快调用的速度,但是调用次数多的话,会使可执行文件变大,这样会降低速度。static 修饰的内联函数,一般情况下不会产生函数本身的代码,而是全部被嵌入在被调用的地方。如果不加static,则表示该函数有可能会被其他编译单元所调用,所以一定会产生函数本身的代码。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://88.wendadaohang.com/zd/McagVMKKMBBKtctKVSa.html
其他回答
第1个回答 2014-08-18
在头文件中声明为“静态”的作用是为了将变量的链接属性改为内部,不允许其余的文件访问它,起到一个保护作用
满意请采纳,不满意请追问
本回答被网友采纳
相似回答
linux中
inline
前
为什么要加static
答:
你把
内联函数(inline)
和
static
的意思都搞清楚了,应该就不难理解了。内联函数一般都是使用率较高的一些函数,而且长度不算很长。其实有些东西建议你不要看这么细,或者说这么较真。我以前就是吃了这个亏了,白白浪费了很多时间,效率很低。
...
static
inline
void A
()
这样的方法是个
什么
方法啊,重点解释一下stati...
答:
inline
函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成
内联函数
,需要看编译器对该函数定义的具体处理。用inline的函数比一般函数调用速度快, 但会占用更多内存空间
static
函数 不能被外部...
在
c语言中内联函数
有
什么
作用
答:
1.
内联函数
可减少cpu的系统开销,并且程序的整体速度将加快,但当内联函数很大时,会有相反的作用,因此一般比较小的函数才使用内联函数.2.有两种内联函数的声明方法,一种是在函数前使用
inline
关见字,另一种是在类的内部定义函数的代码,这样的函数将自动转换为内联函数,而且没必要将inline放在函...
C语言中
的存储类说明符有哪些?各自的含义如何?
答:
1、
static
inline
:和GNU C89/C90中的语义完全相同.2、inline:很类似GNU C89/C90中的extern inline. 标准文档中的解释相当晦涩:允许(但不要求)编译器在当前编译单元内展开函数体(原文的描述是“相比正常的函数调用机制,让
内联函数
调用尽可能快”,而文档下面的脚注中提到,可能的选择是“内联替换...
C语言中
有哪些关键词?
答:
类似于
C语言中
的宏展开。这种在函数调用处直接嵌入函数体的
函数称
为
内联函数(inline
function),又称内嵌函数或内置函数。优点:内联函数可以有效避免函数调用的开销,程序执行效率更高。缺点:如果被声明为内联函数的函数体非常大,则编译器编译后程序的可执行码将会变得很大。
C语言
有
内联函数
吗?
答:
这个是
内联函数
。
C语言
本身是不支持内联函数的,在最新的C标准C99中C语言支持了内联函数。C++支持内联函数。从编译器的角度:有些C语言编译器,例如GNU C提供了内联函数的支持。所有C++编译器都支持内联函数。如果你的C语言编译器不支持内联函数,看看它有多古老,太古老不行(例如 Turbo C 2.0)...
vs2010,
C语言
,
inline
:
为什么函数
前面加了个inline,然后就提示找不到e...
答:
如果g是
inline
的话。f会被直接编译成。int f(){ return x + x;} 相当于把g执行的操作直接融合到f里。这样减少了调用g消耗的时间,但同时也增大了f的尺寸。这就是inline函数,也就是所谓的
内联函数
。--- 但是现在不是这样了。现在的编译器会自动决定是否对函数进行上面的操作,而不是根据你前面...
C语言
定义一个头文件的格式和引用它的方法
答:
4
函数声明
。比如 void test_function(void);5 全局变量声明。比如 extern int global_var;6 如果有一个静态全局变量需要在不同源文件中使用,但各文件之间互不相关。那么可以放在头文件中。如:
static
int gs_var = 3;7 对于支持C99规范的C编译器,还可以把
内联函数
定义在头文件中。比如 static ...
大家正在搜
哪个类型函数不适合声明为内联函数
static在C语言中的作用
不适合声明为内联函数
举例说明内联函数的声明方式
C语言中static关键字的作用
内联函数声明
内联函数的声明方式
内联函数的声明和定义
声明内联函数的关键字
相关问题
C++中全局static函数需要在头文件中声明吗
tornado 静态文件访问 必须是static头 为什么
请问在C++中 static inline void A()...
C语言定义一个头文件的格式和引用它的方法
c语言头文件怎么写呀?
C语言中的存储类说明符有哪些?各自的含义如何?
一段c语言代码 求逐条解析