我讀this site說,如果我做的:聯動在包括<name.h>和libname.o
include<name.h>
然後我的庫對象的格式libname.o。但是例如,this site表示包含math.h的庫名稱是libm.a.我在這裏弄錯了什麼?
我讀this site說,如果我做的:聯動在包括<name.h>和libname.o
include<name.h>
然後我的庫對象的格式libname.o。但是例如,this site表示包含math.h的庫名稱是libm.a.我在這裏弄錯了什麼?
命名約定name.h
和libname.a
就是這樣一個約定。許多圖書館都遵循它,但不是全部。特別是,許多平臺只有一個文件中的所有C庫,不管分類到不同的頭文件中,該文件都是libc.a
。其他人在libm.a
中有額外的數學庫部分。
,因爲他編譯與-lm?另外,編譯器如何知道libm.a是用於math.h的,因爲它的所有二進制文件都是? – Gatonito
你確定這是libname.o擴大到
libname.a
或libname.so
?是它的libname.so? – dlmeetei'#include'包含一個頭文件(源代碼)。將編譯後的代碼與靜態('.a')或共享('.so')庫鏈接是一個單獨的步驟。 – e0k