我想知道的是編譯器和程序是如何工作的。'printf'原理
例如,在'你好,世界!'例如有,比方說,hello.c中,它是這樣的大家都知道: (使用GNU GCC)
$ gcc -o hello hello.c
$ ./hello
世界,你好!
我剛剛得到了一個問題,如何定義或使用printf
,最簡單和熟悉的函數之一。
要自己找到答案,我發現整個頭文件包含在stdio.h中,幷包含在包含的頭文件中,包含在包含的頭文件中。 stdio.h中包含幾乎80個頭文件。我查找每個文件是否包含「printf」這個詞。有3個頭文件。
stdio.h中(本身)
位/ stdio2.h
位/標準輸入輸出,ldbl.h
我不知道預處理器語法完全,但我相當肯定這些文件中的文本不足以定義printf
函數。例如,在stdio.h,printf的大致指這樣的:
...
namespace std{
...
extern int printf (const char *__restrict__format, ...);
...
}
...
我知道它說的語法和種類的聲明,但我認爲這不是一個定義或printf
建設。
所以我覺得有一些內心深處可以回答我的問題,我希望你們中的一些人有一個。
我在這裏沒有看到任何問題。你問問定義在哪裏?它在一個圖書館裏,你可能有也可能沒有它的來源;你可以在[這裏]看到它(https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=stdio-common/printf.c)。 – 2014-11-04 14:14:05
如果你正在尋找'printf'的源代碼,你的問題是這個問題的重複:http://stackoverflow.com/questions/4867229/code-for-printf-function-in-c否則我不是當然,我明白你到底在找什麼。 printf的「主體」(原則?)?你是什麼意思? – jogojapan 2014-11-04 14:16:20