2011-06-04 138 views
6

可能重複:
Where to find stdio.h functions implementations ?哪裏可以找到stdio.h的實現?

嗨,我試圖找到在stdio.h頭文件中定義的函數的函數定義,我想學習怎麼樣的printf函數( )已經實現,但是我找不到stdio.h中的任何預處理器指令鏈接到其他地方的實現文件。當沒有直接引用函數定義文件時,C編譯器如何知道在哪裏找到實現? (我知道.h文件可能伴隨着來自Objective-C書籍的同名.c實現文件。)你能幫助我嗎?謝謝!我在Mac OS X上使用GCC。

+2

A 「標頭」 不一定是一個文件都沒有。編譯器實際上可以將它全部內置。 – Wiz 2011-06-04 01:40:44

+0

由於您尚未指定使用的編譯器,因此如果您有Visual Studio AFAIK的非快速版本,則可以看到Microsoft的實現。它們通常位於:'\ Program Files \ Microsoft Visual Studio [版本號] \ VC \ crt' – 2011-06-04 01:43:52

回答

2

嘗試下載GLIBC庫項目的源代碼。這就是標準函數的定義在使用GCC編譯器(和派生)時的情況。

+1

'gcc'不必使用'glibc'。但是如果你正在運行一個典型的Linux發行版,那麼你很可能會使用它。 – asveikau 2011-06-04 01:37:19

5
+2

+1對於FreeBSD的清爽理智的源代碼樹 – jwd 2011-06-04 01:45:28

+1

您可能還想鏈接到'vfprintf()',因爲那是完成所有繁重工作的函數 - 解析實際參數。 – Wiz 2011-06-04 01:49:07

+0

好的建議。完成。 – Sean 2011-06-04 02:00:53

相關問題