gcc:为什么链接数学库需要-lm标志?

mat*_*amc 62 gcc libc

我刚刚发现-lmgcc需要这个标志,以便编译一个从数学库中引用函数的程序.我想知道为什么在编译包含其他库(如时间库)的程序时不需要显式链接标志.如果我编写一个time()调用该函数的程序,即使没有链接选项也可以编译没有任何问题.但是如果没有-lm旗帜,那么涉及数学库的程序将无法运行.

任何人都可以解释这种行为背后的原因吗?谢谢你的时间.