通常一个函数应该具有声明和定义,但是我有这样的代码
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一些选项来忽略它?