簡體   English   中英

是否可以從gcc中的C源代碼內部鏈接到數學庫?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM