我無法記住將包含文件鏈接到GCC時鍵入的內容,實際上我記得的唯一一個是-lm
(對於math.h
)。我現在特別關心的是sys/time.h
。在GCC中鏈接包含文件
This page清除了一些東西,但我仍然喜歡列表。
有誰知道一個很好的鏈接選項列表?
編輯:
也許我的問題不明確。我想知道我需要在命令行輸入什麼(如數學的-lm
或pthread的-lpthread
),以便在製作C程序時可能需要鏈接的各種庫。
我無法記住將包含文件鏈接到GCC時鍵入的內容,實際上我記得的唯一一個是-lm
(對於math.h
)。我現在特別關心的是sys/time.h
。在GCC中鏈接包含文件
This page清除了一些東西,但我仍然喜歡列表。
有誰知道一個很好的鏈接選項列表?
編輯:
也許我的問題不明確。我想知道我需要在命令行輸入什麼(如數學的-lm
或pthread的-lpthread
),以便在製作C程序時可能需要鏈接的各種庫。
我不知道我理解你的問題,但-lm不是ld 選項,-l是一個選項,-lx鏈接libx.a(或.so,它取決於)。你可能想看看ld手冊中的完整選項列表。
我覺得比其他數學的所有其他標準庫都包含在libc.so(.a)中(-lc)
在<sys/time.h>
提供的功能在libc.so
(C庫)來實現。您不需要鏈接任何其他內容,因爲gcc應該自動鏈接到libc.so
。沒有'包含文件的鏈接',而是鏈接到包含由代碼定義的符號的庫。
-l
標誌是GCC's linker options之一,用於指定要鏈接的附加庫。
編輯,因爲我的gcc在編譯時執行對我的源代碼優化
此外,在該鏈接的信息是有點過時 - 你不應該需要一個明確的聯繫
libm
(這是什麼
-l m
或
-lm
)在現代海合會。
哇,這是什麼時候發生的? http://stackoverflow.com/questions/1033898/why-do-you-have-to-link-the-math-library-in-c/1033940#1033940我很確定這是一年前準確的... – ephemient 2010-11-30 21:49:58
`libcrypt`,`libdl`,`libpthread`,`libresolv`和`librt`都包含更多不在`libc`和`libm`中的標準C/POSIX函數。許多人會認爲`libz`也是一個標準的系統庫。 – ephemient 2010-11-30 22:52:55