c 怎麼讓自己寫的庫像標準庫那樣只需include標頭檔案就可以使用而不需要把實現原始碼加入工程裡?

時間 2022-01-22 00:45:54

1樓:exiledkingcc

沒辦法像標準庫那樣。

標準庫可以只include標頭檔案是因為編譯器會預設鏈結標準庫的實現。

其它回答裡面說的header only library,是把實現也一起寫在標頭檔案裡面了。不需要另外的cpp而已。

如果你的目的是讓庫方便使用,就做成header only library,或者退一步,提供乙個標頭檔案和乙個cpp檔案。(有工具可以把多個檔案合併成乙個)

如果你的目的是隱藏實現,那就提供標頭檔案與編譯好的動態庫或者靜態庫。不過這樣可能只能用於特定的編譯器/作業系統/CPU架構,使用起來不太方便。

2樓:咔噠咔噠

標頭檔案內完成實現

鏈結依賴的靜態庫/動態庫

這個問題去了解下手動g++編譯就會理解了,不要完全指望IDE。

3樓:Skykey

提供兩種方式。

第一種:Headers Only Library,整個庫的完整定義和實現僅需要乙個檔案,這是僅僅include就好,缺點是檔案內容會變得很複雜。

4樓:狙擊手的眼淚

你可能想問的是為什麼系統庫只需要include而不需要鏈結就可以用,其實在鏈結階段ide已經給你預設鏈結了系統庫了。

5樓:xyc

cpp的庫就是原始碼讓你include的不信就自己去看看include資料夾

6樓:maple0607

在工程管理檔案中link部分新增你自己的庫路徑就可以了

C 標準庫為什麼不提供乙個方便的日期時間庫?

望山 機器內部表示的日期時間,現有庫已經基本夠用了。麻煩的是處理字串表示的日期時間。但是這個問題英國和美國都不同 10 08 09是哪年幾月幾號?要確定使用者是哪中國人 使用者在哪國地方 使用者的程式打算給哪中國人用 使用者的程式的使用者在哪國地方,完全超出了C 語言的能力,需要作業系統提供大量資訊...

c 寫的介面庫是如何運作的?

brook zhu 以DirectUI方式為例,主要分為幾個部分 1 如何描述介面?一般介面的布局都會用描述性語言來寫,所以你需要定義乙個自己的介面描述方式及對應的解析邏輯。2 如何設計控制項及其層次結構?介面庫主要是給別人用的,衡量乙個介面庫功能的完善度有個指標就是它提供的控制項夠不夠多。3 如何...

C 中,如何在標準庫的std string和常用庫(Qt,VC等)的QString之間進行選擇?

諸葛不亮 QString和std string根本是兩個東西 QString才是字串處理,內部同一編碼為Unicode,只要字串轉成QString就沒任何擔憂了 std string那個渣渣,只是個封裝成class的char陣列罷了 對照Qt頂多就是QByteArray,還沒那個好用 std str...