給定一個函數,讓我們說atoi,如果我想使用這個函數,如何找到我應該包含的頭文件?我總是對這個問題感到困惑。如果讓我把「atoi」這樣的函數當作linux c api,我可以用另一種方式來表達我的問題:是linux c api的文檔嗎?如何在Linux中找到要包含在庫函數中的頭文件
回答
Man pages。在您的命令提示符處鍵入man atoi
(或者,通常,man <function>
)。它會爲您提供使用信息以及要包含哪些標題的列表。
手冊頁還記錄程序和命令(find,grep,cd等)。有時您可能會遇到程序與C函數具有相同名稱(例如寫入)的情況。在這種情況下,您需要引導人員查看手冊的正確部分,第2部分是系統調用,第3部分是庫函數。通過在「man」和命令名稱man 2 write
之間插入節號來完成此操作。如果您不知道給定的函數是系統調用還是庫函數,請嘗試這兩種方法。
通過輸入man man
可以瞭解更多關於手冊頁的信息。
+1附註:在某些平臺上,您可能需要安裝這些軟件包(例如:對於Ubuntu的'manpages-posix-dev'(頭文件)和'manpages-dev'(函數)) – ChristopheD 2010-03-03 22:25:31
是linux c api的文檔嗎?
當然可以。該文檔可作爲手冊頁。在終端輸入man <function>
並享受。您需要包含哪個頭文件通常顯示在頂部。
如果您正在使用ctags和vim編輯器,並且您已設置ctags來掃描/ usr/include,然後按Ctrl-],而您正在查找的函數將帶您到標題文件!
您可以使用下面還
whereis <function name>
它會給路徑名的功能。然後使用vim編輯器打開路徑。然後使用「vim」編輯器可以看到頭文件。
例
> whereis atoi
atoi: /usr/share/man/man3/atoi.3.gz
> vim /usr/share/man/man3/atoi.3.gz
----------
----------
.B #include <stdlib.h>
或者,你可以搜索你的系統的/ usr/include目錄你正在尋找的函數定義的事件目錄。這對於缺少手冊頁的嵌入式或精簡版Linux系統特別有用。
find /usr/include -name "*.h" -print | xargs grep "<function-you-are-looking-for>"
例如,如果你這樣做:
find /usr/include -name "*.h" -print | xargs grep atoi
你會得到這樣的事情:
/usr/include/stdlib.h:extern int atoi (__const char *__nptr)
結果既包含頭文件名和接口定義。
- 請注意,您的/ usr/include目錄可能位於其他位置。
也注意到許多事情都是在公共頭文件包含的系統特定的(有時是特定於內核版本的)私有頭文件中定義的,所以通過grep進行搜索並不會讓你得到正確的答案。 – 2013-04-29 15:42:01
- 1. C程序找不到包含在頭文件中的函數
- 2. 包含在頭文件中
- 3. 包含在頭文件中
- 4. 如何在頭文件中包含依賴項而不將其包含在包含頭文件的項目中
- 5. 包含Linux頭文件
- 6. 在C++中將新的頭文件包含到標準庫中
- 7. GCC找不到頭文件中包含的庫
- 8. 如何在Linux中包含Qt庫(qwebview.h)?
- 9. 如何在Linux中安裝curses.h頭文件(或包含它的包)?
- 10. 在Linux中查找包含特定文件大小的文件
- 11. 如何判斷鏈接器在頭文件中包含庫
- 12. 如何在CMakeLists中包含庫頭文件
- 13. 如何在JavaScript文件中包含庫?
- 14. gcc - 如何找到頭文件包含文件的路徑
- 15. 如何找到不需要的js文件包含在網站
- 16. 如何找到不包含在函數中的Javascript?
- 17. 在php中包含文件未找到
- 18. 在其他頭文件中包含頭文件中的類
- 19. 在C4droid中包含新的頭文件
- 20. 如何在wordpress中包含短代碼函數中的文件
- 21. 在附加頭文件中包含頭文件包括路徑
- 22. 在javascript函數中包含javascript文件
- 23. 在函數中包含一個文件
- 24. 不能在多個文件中包含動態庫頭文件?
- 25. 如何在Linux Shell腳本文件中包含文件?
- 26. CMake在include_directories中找不到合適的頭文件/包含文件
- 27. 如何在FAT中找到包含文件的磁盤塊
- 28. 如何找到將包含在cq:includeClientLib標籤中的文件?
- 29. 如何在文件中找到包含「空格」的名稱?
- 30. 如何在純C和CUDA C文件中包含頭文件?
請參閱男子或信息和apropos apropos在此給出您要使用的手冊頁部分。 –
2010-03-03 22:06:41