小编Par*_*ker的帖子

'printf'原理

我想知道的是编译器和程序是如何工作的.

例如,在'Hello,world!' 比方说,例如hello.c,就像每个人都知道的那样:(使用GNU gcc)

$ gcc -o hello hello.c
$ ./hello
Run Code Online (Sandbox Code Playgroud)

你好,世界!

我刚刚得到一个问题,如何printf定义或使用最简单和熟悉的功能之一.

为了自己找到答案,我发现整个头文件包含在stdio.h中,并包含在包含的文件中,包括在包含的文件中.stdio.h中包含近80个头文件.我查找每个文件是否包含"printf"一词.有3个头文件.

stdio.h(本身)

比特/ stdio2.h

比特/ STDIO-ldbl.h

我完全不了解预处理器语法,但我很确定这些文件中的文本不足以定义该printf函数.例如,在stdio.h中,printf大致如下所示:

...
namespace std{
...
extern int printf (const char *__restrict__format, ...);
...
}
...
Run Code Online (Sandbox Code Playgroud)

我知道它说的是语法和声明,但我认为它不是定义或构建的printf.

所以我认为内心深处有一些东西可以回答我的问题,我希望你们中的一些人有一个问题.

c gcc c-preprocessor

2
推荐指数
1
解决办法
283
查看次数

标签 统计

c ×1

c-preprocessor ×1

gcc ×1