我在C中學習頭文件的使用。現在我在我的研究中發現了很少的資源,但沒有一個創建了期望的效果。在C中使用頭文件
首先,根據this教程,我可以在自己的頭文件中編寫我的函數。但我不想這樣做。即使我改變了接口保持不變的代碼,我也想保持頭文件不變。
回答this問題提出了兩種方法。首先,我可以單獨寫的代碼和頭文件,包括他們,當我編譯如下:
gcc -o myprog test.c library.c
但我不想做,要麼。我的庫函數應該隨時可用,無需包含在編譯行中。根據相同的答案,我可以創建一個庫,然後通過-l開關鏈接到它。但是當涉及像printf這樣的函數時,你不需要執行其中的任何一個。你所要做的就是包含頭文件。有沒有辦法做到這一點?
摘要TL; DR
我想其中c寫一個庫:
不具有在頭文件本身來實現。
每次使用庫函數時都不必包含在編譯行中。
每次使用庫函數時都不必與-l鏈接。
基本上應該只使用包含頭文件的庫。
有什麼方法可以在Linux中完成嗎?
在過去,在共享庫成爲標準之前,您可以將代碼添加到系統C庫中。這從來不是一個好主意,系統庫的任何更新都會丟棄你的新增內容。但它可以做到。否則,您必須找到一種方法來配置C編譯器來運行鏈接器來自動鏈接庫,就像它自動鏈接系統C庫一樣。這可能是可行的。儘管如此,這並不值得。 (同樣,對編譯器的更改可能意味着每次更新編譯器時都必須進行更改)。你應該簡單地使用'-lwhatever'。 –