給定一個函數,讓我們說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. 包含在頭文件中
- 2. 如何在頭文件中包含依賴項而不將其包含在包含頭文件的項目中
- 3. 包含Linux頭文件
- 4. 在C++中將新的頭文件包含到標準庫中
- 5. 如何在Linux中包含Qt庫(qwebview.h)?
- 6. 如何判斷鏈接器在頭文件中包含庫
- 7. 如何在CMakeLists中包含庫頭文件
- 8. 如何在JavaScript文件中包含庫?
- 9. 如何找到不包含在函數中的Javascript?
- 10. 在附加頭文件中包含頭文件包括路徑
- 11. 在函數中包含一個文件
- 12. 不能在多個文件中包含動態庫頭文件?
- 13. 如何在Linux Shell腳本文件中包含文件?
- 14. CMake在include_directories中找不到合適的頭文件/包含文件
- 15. 如何找到將包含在cq:includeClientLib標籤中的文件?
- 16. 在cygwin中包含頭文件
- 17. 在VS2005中包含頭文件
- 18. 外部頭文件包含在C++中
- 19. VS代碼「在包含路徑中找不到包含文件」。
- 20. 如何指定要包含在WAR文件中的文件?
- 21. 將數據存儲在包含數組的文件中在頭文件中
- 22. 如何在Joomla模板中包含PHP函數的文件
- 23. 如何在js.file中包含外部文件的js函數?
- 24. 在另一個頭文件中包含頭文件
- 25. Cygwin/Linux - 從文件中查找包含字符串的文件
- 26. 如何查找文件並在其中包含其他文件?
- 27. 如何在php中調用一個函數時包含文件
- 28. 你在linux中使用b中的bool類型包含哪個頭文件?
- 29. 如何在Centos7中查找包含特定文本的文件?
- 30. 批處理 - 在dir中找到文件,其中的文件名包含數字
請參閱男子或信息和apropos apropos在此給出您要使用的手冊頁部分。 –
2010-03-03 22:06:41