以下代码:
#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?