Если я включаю <stdlib.h> или <stdio.h> в программу C, мне не нужно связывать их при компиляции, но мне нужно привязать к <math.h>, используя -lm с gcc, например:
gcc test.c -o test -lm
В чем причина этого? Почему я должен явно связывать математическую библиотеку, но не с другими библиотеками?