默认状态下,gcc并不搜索数学库,-lm的意思是gcc需要搜索标准目录下(本例中是/usr/lib目录)名为libm.a的库文件,从而找出需要的数学函数,正确链接。
你也可以这样指定:
gcc -o test test.c /usr/lib/libm.a
-lm相当于是简写方式。
首先你要明白 -lm的用意 就是寻找libm.o这个库的某个函数的所有函数(我估计是sprt吧),寻找完成之后才能进行完整的编译。而math并不是一个库 而是函数,函数有时候要多个库支持,所以要用-lm的方法把所有库整合一起 才能调用这个函数。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)