以下代码:
#include <stdio.h>
inline int myfunc (int x) {
return x+3;
}
int main () {
printf("%d", myfunc(2));
return 0;
}
使用标志时不编译-std=gnu99
(我正在使用 gcc 编译)。这是它抛出的错误:
gcc -std=gnu99 -c main.c -o main.o
gcc -std=gnu99 main.o -o main
main.o: In function `main':
main.c:(.text+0x15): undefined reference to `myfunc'
collect2: ld returned 1 exit status
make: *** [main] Error 1
-std=gnu99
省略时编译没有问题。有谁知道为什么使用链接器会抱怨-std=gnu99
?