例如:
xs
当编译为//test.c
#include <stdio.h>
#include <math.h>
int main() {
printf("%lf\n", sqrt(4.0);
return 0;
}
时,没有任何错误,一切运行正常。但是,这样的事情:
gcc test.c
您会收到一个错误消息,即sqrt未定义,您必须使用//test2.c
#include <stdio.h>
#include <math.h>
int main() {
double a = 4.0;
printf(%lf\n", sqrt(a));
return 0;
}
选项进行编译,才能按预期方式链接数学库。
我的问题是,当您使用文字时未明确链接math.h时,为什么gcc会抱怨?