次のコード:
#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
か?