如果我在我的 .h 文件中定义函数会发生什么
extern int returnaint(void);
在相关的.c文件中进行定义
inline int returnaint(void) {
return 1;
}
如果我在一个.c文件中编写一个内联函数,并在另一个.c文件中包含头文件并使用该函数,当我单独编译这些内容时,为每个.c文件创建一个目标文件,然后链接它们,这个内联函数是否被包含了?或者会发生什么?
我知道编译器可以忽略inline
,但如果在这种情况下它不忽略它会怎样?
inline
定义的编译单元也会看到extern
声明,因此必须发出符号。请参见我的答案。 - Jens Gustedt