回答
這不是他正在尋找的答案。他希望在stdio.h中找到定義fopen函數的那一行。 – 2010-09-20 07:30:17
這不是他所說的。他問,「*有人可以告訴我在哪裏可以找到定義?*」 – 2010-09-20 08:30:03
extern FILE *fopen (__const char *__restrict __filename,
__const char *__restrict __modes) __wur;
如您所說,在stdio.h
。
'stdio.h'可能位於哪裏? – 2010-09-20 07:25:25
在UNIX系統上,位於'/ usr/include'中。 – 2010-09-20 07:26:25
或者,你可以去http://cplusplus.com/下參考 - > C庫 - > cstdio(stdio.h中)
這是stdio.h的參考,但它沒有回答這個問題,'我在哪裏可以找到fopen的定義'。他正在瀏覽源代碼,試圖找到一行代碼。 – 2010-09-20 07:31:33
的聲明應該是在stdio.h(據我所知標準要求這一點),但它不是可能你會在那裏找到定義 *。如果您使用的是開放源碼操作系統,則可能包含包含可下載的源代碼(包含定義)的軟件包。否則,對不起,沒有可用的定義。
*假設筆者認爲定義意味着實際執行,而聲明而是指函數原型
即使在Windows上,如果安裝了Visual Studio,CRT的源代碼也可用。例如,可以在'C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ crt \ src \ fopen.c'或類似文件中找到'fopen'的源代碼。 – 2010-09-20 08:46:54
你是對的,但我認爲你只有在購買VS時才能得到它,不是嗎?還是可以在Express版本中使用? – stijn 2010-09-20 11:52:08
我發現源代碼here.我不是一個C-編碼器,以便檢查結果自己。據我所知,它看起來像一個真正的實現。但即使這不是「真正的」實施,它至少可以爲學習眼睛提供一些後驗。所以知道這個文件應該很有幫助。
你可以找到函數的定義在stdio.h這裏: http://en.wikipedia.org/wiki/Stdio.h
而且這裏的一對C文件IO的文章: http://en.wikipedia.org/wiki/C_file_input/output
http://ftp.gnu.org/gnu/glibc/ 那裏你可以找到Ç性病。庫源代碼
的fopen()
爲OS X(這是提問者所問的問題)的實施可以用opensource.apple.com:
http://opensource.apple.com/source/Libc/Libc-498.1.7/stdio/fopen-fbsd.c
我很好奇,但是,作爲你爲什麼要找它;圖書館的一個重點是你不需要知道他們如何工作的細節以便有效地使用它們 - 你只需要知道如何與他們聯繫以及定義了什麼功能。
- 1. stdio.h在Visual Studio
- 2. stdio.h文件錯誤?
- 3. C頭<stdio.h>
- 4. VC++ 6.0上的Stdio.h
- 5. dprintf的原型(stdio.h)
- 6. stdio.h中在OS X
- 7. 無法打開stdio.h
- 8. 有關字符串和stdio.h庫的未知錯誤
- 9. 爲什麼#include「stdio.h」有效?
- 10. 無限循環while read stdio.h
- 11. Mac中的「stdio.h」在哪裏?
- 12. 是否有類似於<stdio.h>的java庫/包?
- 13. Minix 3 stdio.h無法識別FILE * f
- 14. 我的MinGW安裝時缺少stdio.h
- 15. ctags不能正確解析stdio.h
- 16. xcrun鏗鏘--sysroot找不到stdio.h
- 17. 哪裏可以找到stdio.h的實現?
- 18. 使用stdio.h異步緩衝io?
- 19. Windows 10:叮噹聲,「stdio.h」未找到
- 20. C++約stdio.h中改變標準輸出
- 21. 遷移到xcode5後找不到stdio.h
- 22. 如何在#include <stdio.h>和int main(){}
- 23. 爲什麼#需要#include <stdio.h>?
- 24. 關於小於
- 25. 關於aps_developer_identity.cer相關
- 26. 關於python關閉
- 27. 關於
- 28. 關於
- 29. 關於==
- 30. 關於
什麼編譯器和操作系統正在使用? – Anycorn 2010-09-20 07:24:24
你的意思是fopen函數的'聲明'嗎? – Bill 2010-09-20 07:30:22
os:mac os x 10.5.8; gcc 4.0.1 – babon 2010-09-20 08:55:20