[英]Is it possible to link to the math library from inside the C source code in gcc?
當我試圖包含<math.h>
我發現我需要使用命令gcc -lm
鏈接數學庫
但我正在尋找另一種方法來鏈接數學庫'代碼',這不需要用戶使用任何選項進行編譯。
gcc -lm
可以使用#pragma
或其他東西在C代碼中完成嗎?
編輯:我已將-ml
更改為-lm
簡化用戶(或實際上對於開發人員)的復雜性的通常方法是編寫makefile。
首先,它是gcc -lm
並且沒有#pragma
意味着給出鏈接指令
不,您需要告訴鏈接器鏈接庫以鏈接庫。
鏈接器不知道代碼,只知道編譯的目標文件。 它不會看到語言特定的編譯指示。
你沒有說你正在使用哪個UNIX shell,但如果這只是為了方便,只需編寫一個shell函數:
gcm() {
gcc -lm $*
}
將它放在shell的啟動文件中,您可以使用以下代碼編譯和鏈接數學庫:
gcm mycode.c
使用-lm
是唯一的選擇。 另外,使用#pragma
是微軟特定的而且非常臟。 想象一下,有一個新的超高效數學庫需要-lsupermath而不是-lm - 那么你必須修改代碼而不是修改makefile或make配置文件。
不,gcc沒有用於鏈接到庫的編譯指示。 你必須使用命令行選項鏈接到數學庫(它是-lm
不是-ml
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.