例如,我们想要计算出三角函数里面的sin90°,代码如下:
[root@Server01 ~]# vim sin.c
include
include
int main(void)
{
float value;
value = sin ( 3.14 / 2 );
printf("%f\n",value);
}
[root@Server01 ~]# gcc sin.c -lm -L/lib -L/usr/lib <==重点在 -lm
1.000000
[root@Server01 ~]# ./a.out <==尝试执行新文件
特别注意,使用gcc编译时所加入的那个-lm是有意义的,可以拆成两部分来分析。
-l:是加入某个函数库(library)的意思。
-m:是libm.so函数库,其中,lib与扩展名(.a或.so)不需要写。
所以-lm表示使用libm.so(或libm.a)这个函数库的意思。那-L后面接的路径呢?这表示程序需要的函数库libm.so请到/lib或/usr/lib里面寻找。