C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了外部内联函数会发生什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我将.h文件中的函数定义为
extern int returnaint(void);

,将相关的.c文件定义为

inlinE int returnaint(void) {
    return 1;
}

并将标题包含在另一个.c文件中并使用该函数?当我单独编译这些东西时,为每个.c文件创建一个对象文件,然后链接它们,是否包括内联函数,或者会发生什么?

我知道编译器可以忽略内联,但是如果在这种情况下不会忽略它呢?

解决方法

它不会编译.来自C11(ISO / IEC 9899:2011)§6.7.4功能说明符(加重点):

一个.c文件只能从头文件获取内联函数的声明,而不是定义,因此它符合粗体字的规则.

编辑:

正如@jens Gustedt指出的,我以前的解释是错误的,因为在OP的问题中,该函数在头文件中被声明为非内联:

extern int returnaint(void);

所以其他的.c文件会像普通的函数一样对待它.

大佬总结

以上是大佬教程为你收集整理的外部内联函数会发生什么?全部内容,希望文章能够帮你解决外部内联函数会发生什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。