在Ubuntu上作C語言程序練習時,用到了sqrt函數,儘管在源文件中已包含了math.h頭文件,但在編譯的時候老是提示sqrt未定義。後來在網上查閱了相關資料,得知:在Linux系統下,C源文件若調用了math庫裏的函數,則編譯時要加上-lm(是字母l,不是數字1),表示連接到math庫。例如編譯調用了math庫函數的C源文件foo.c,能夠用以下命令對其進行編譯:linux
$gcc -o foo -g -W foo.c -lm函數