0
我正在爲不能在OS上運行的系統編寫嵌入式C軟件。我想能夠使用netdb.h的gethostbyname()函數。我的理解是,Linux操作系統中包含它所屬的任何庫。是否有可能將該庫納入我的項目?或者它依賴於操作系統?netdb.h嵌入式軟件系統中的gethostbyname函數?
如果我可以包含它,我可以在哪裏獲得完整的庫?
我正在爲不能在OS上運行的系統編寫嵌入式C軟件。我想能夠使用netdb.h的gethostbyname()函數。我的理解是,Linux操作系統中包含它所屬的任何庫。是否有可能將該庫納入我的項目?或者它依賴於操作系統?netdb.h嵌入式軟件系統中的gethostbyname函數?
如果我可以包含它,我可以在哪裏獲得完整的庫?
gethostbyname()
是最初來自BSD套接字的POSIX API函數。如果你沒有操作系統,你將需要一個獨立的網絡堆棧。許多接口與BSD具有相似或相同的接口,使得移植代碼更簡單,但有些(特別是那些不需要OS或RTOS的接口)將被設計爲在資源受限的系統上運行,並且可能非常少,並且具有不同的API。
您可以從[源](https://www.kernel.org/)獲取完整的庫。 – brice
那你使用什麼網絡協議棧? – Clifford
gethostbyname()是不平凡的,你將需要很多OS替換基礎設施。你真的需要gethostbyname()嗎?你可以不用開始,找出你會遇到的其他問題嗎?尋找lwip(輕量級ip)裸機網絡堆棧,可能對替換您正在使用的內容非常有用。 –