编译时需要注意,在 Linux 系统下,C 源文件若调用了 math 库里的函数,则编译时要加上 -lm (是字母 l ,不是数字 1),表示链接到 math 库。
gcc -o 5-5 5-5.c -lm
这里我们说明一下:因为数学函数位于 libm.so 库文件中(这些库文件通常位于 /lib
目录下),-lm
选项告诉编译器,我们程序中用到的数学函数要到这个库文件里找。而 printf 为什么不需要呢?这是因为它位于 libc.so
库文件中,使用 libc.so
中的库函数在编译时不需要加 -lc
选项,当然加了也不会错,因为这个选项是 gcc 的默认选项。