如果我在 .h 文件中将函数定义为
extern int returnaint(void);
在相关的 .c 文件中将其定义为
inline int returnaint(void) {
return 1;
}
并将标头包含在另一个 .c 文件中并使用该函数?当我单独编译这些东西,为每个 .c 文件创建一个目标文件然后链接它们时,是否包含内联函数,或者会发生什么?
我知道编译器可以忽略inline
,但是如果在这种情况下它不忽略它怎么办?
添加了inline
到函数定义.c
文件只是多余的。
事实上,你只是用错了方法。使用此功能的目的是您拥有inline
中的定义.h
文件,每个人都可见。函数的这个定义仅充当符号的声明,就像extern
会,但没有定义它。
An extern
仅一份声明.c
文件(编译单元)然后确保符号在那里被定义。
术语有点混乱,inline
定义作为符号的声明,以及extern
宣言作为它的定义
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)