内联声明和定义会混淆gcc?

时间:2018-08-15 02:22:52

标签: c gcc inline

通常一个函数应该具有声明和定义,但是我有这样的代码

inline int test(void);
void main(void)
{
    test();
}
inline int test(void)
{
    return 1;
}

gcc test.c
/tmp/ccQffhMo.o: In function `main':
test.c:(.text+0x5): undefined reference to `test'
collect2: error: ld returned 1 exit status

当我删除声明行或内联关键字时,没有错误。

为什么,以及如何通过给gcc一些选项来忽略它?

0 个答案:

没有答案