c语言中inline的用法(c语言中的line函数用法)

http://www.itjxue.com  2024-06-12 15:16  来源:IT教学网  点击次数: 

vs2010,C语言,inline:为什么函数前面加了个inline,然后就提示找不到e...

这就是inline函数,也就是所谓的内联函数。--- 但是现在不是这样了。现在的编译器会自动决定是否对函数进行上面的操作,而不是根据你前面加不加inline。但是inline本身还是有另外一个意义:一个可执行文件的cpp文件中一个函数只能被定义一次。

inline是C++关键字。具体内容如下:在函数声明或定义中,函数返回类型前加上关键字inline,即可以把函数指定为内联函数。这样可以解决一些频繁调用的函数大量消耗栈空间(栈内存)的问题。关键字inline必须与函数定义放在一起才能使函数成为内联函数,仅仅将inline放在函数声明前面不起任何作用。

这种用法,同一个文件内的inline test函数会被内联展开,其他文件的test函数,会编译成普通函数来调用。根据你的提问可以理解为:abc.h中的test函数,被abc.h内联展开。abc.c中的test函数,被abc,c调用,与abc.h里面的test无关。如果还有def.c调用test,那么调用那个的是abc.c中的。

inline 函数必须在使用前定义,不然一定没效果。inline关键字只是作为一个编译提示,编译器可以根据自身实现情况选择性优化。话说现在编译器都具备很多优化,没必要特意去使用inline关键字。inline函数默认是内部链接,所以如果将定义放在其他文件的话会出现“无法解析外部符号” 链接错误。

(责任编辑:IT教学网)

更多

相关Mail服务器文章

推荐Mail服务器文章