1
A
回答
2
摘要
如果你是在Linux上,它應該是在/usr/include/bits/fcntl.h
。
#define O_RDONLY 00
可以使用rgrep
,或ctags
和Vim
,或cpp
,或cwhere
找到它。
rgrep
最簡單的方法是使用rgrep
,亦稱grep -R
。
$ rgrep O_WRONLY .
./X11/Xw32defs.h:# define O_WRONLY _O_WRONLY
./linux/fs.h: * to O_WRONLY and O_RDWR via the strange trick in __dentry_open()
./linux/smbno.h:#define SMB_O_WRONLY 0x0001
./asm-generic/fcntl.h:#define O_WRONLY 00000001
./security/_pam_macros.h: if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_NOFOLLOW|O_APPEND)) != -1) {
./security/_pam_macros.h: if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_APPEND)) != -1) {
./security/_pam_macros.h: if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_NOFOLLOW|O_APPEND)) != -1) {
./security/_pam_macros.h: if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_APPEND)) != -1) {
./bits/fcntl.h:#define O_WRONLY 01
CTAGS
或者,你可以運行/usr/include
ctags -R
,然後運行vim -t O_WRONLY
。
或者好一點,但更多的打字:
find . /usr/include -name "*.h" |
ctags -f - -L - |
grep "^O_WRONLY " |
cut -d " " -f 1,2,3 |
sed -e 's# /\^# #;s#\$/\;"$##'
CPP
我發現使用cpp
的最好方法。
假設你有一個名爲YOUR_SOURCE_FILE必要#include
個源文件,嘗試運行:
cpp -dD YOUR_SOURCE_FILE | less
然後搜索您的#define
,例如/O_WRONLY
,然後向上滾動找到它上面的第一個文件名。在這種情況下:
# 27 "/usr/include/bits/fcntl.h" 2 3 4
意味着O_WRONLY
正在從/usr/include/bits/fcntl.h
拿起如果您在man fcntl
提到的三個頭文件。
cwhere
我已經運行cpp
一個名爲cwhere
自動化腳本:
$ cwhere O_WRONLY sys/types.h sys/stat.h fcntl.h
/usr/include/bits/fcntl.h: #define O_WRONLY 01
如果安裝desc
,您只需鍵入的名字功能使用#define
,例如
$ cwhere O_WRONLY 'fcntl()'
/usr/include/bits/fcntl.h: #define O_WRONLY 01
相關問題
- 1. FieldOperator類不包含靜態常量
- 2. Azure DocumentDB .NET SDK不包含所有HTTP狀態代碼
- 3. UITabBar標誌狀態
- 4. PHP $ _REQUEST不包含所有$ _GET變量
- 5. 檢查實體包含所有組件通過枚舉標誌
- 6. 位標誌和狀態
- 7. 組裝狀態標誌8086
- 8. C++中的狀態標誌
- 9. flag.PrintDefaults包含`-test`標誌
- 10. 截圖不包含狀態欄
- 11. 不包含所有任務異常的聚合異常?
- 12. Python請求:響應對象不包含「狀態」標頭
- 13. 在VB.NET VB6常量標誌?
- 14. 轉化爲包含所有標籤
- 15. 屏幕上包含所有座標
- 16. 常量狀態名稱
- 17. Golang標誌包有默認標誌嗎?
- 18. 在pod中包含常量
- 19. Java包含的常量
- 20. 無法加載視圖狀態,當頁面包含視圖狀態變量
- 21. LINQ的選擇與所有包括標誌和沒有排除標誌
- 22. Eclipse的標誌事件並不標誌着所有出現
- 23. 日誌文件包含帶有郵件標誌的日誌語句,如下所示
- 24. JSP包含動態標記
- 25. 刷新UITableViewCell中的狀態標誌
- 26. DBCC TRACEON(1222)未設置狀態標誌
- 27. Z80狀態標誌寄存器
- 28. JMeter和double等於標誌(==)在狀態
- 29. 包含常量和變量但不包含文字或類的詞?
- 30. c/C++相對包含路徑vs Makefile包含標誌
檢查擴展文件是有益的。 :) – John
我想知道爲什麼有2個fcntl.h文件。一個在usr/include中,另一個在usr/include/bits – John
任何人都知道爲什麼? – John