【发布时间】:2012-06-13 04:56:52
【问题描述】:
我想看看 printf(和许多其他函数)是如何工作的。
我写的
#include <Windows.h>
#include <stdio.h>
int main()
{
printf("");
return 0;
}
在 main.c 代码中并在右键菜单中转到定义
但它显示类似
_Check_return_opt_ _CRTIMP int __cdecl printf(_In_z_ _Printf_format_string_ const char * _Format, ...);
#if __STDC_WANT_SECURE_LIB__
_Check_return_opt_ _CRTIMP int __cdecl printf_s(_In_z_ _Printf_format_string_ const char * _Format, ...);
#endif
我找不到任何有关 printf 工作原理的提示。
谁能告诉我如何学习标准库实现?
【问题讨论】:
-
printf很容易成为可以想象的最复杂的函数之一。只需尝试在脑海中计算出 you 将如何以通常的十进制表示法格式化浮点数。 (也就是说,printf的所有其他非浮点部分都是直截了当的。) -
有一个libc的开源实现。您可以下载并检查它。 (对于不需要的非标准标头
<Windows.h>而言,情况并非如此)
标签: c implementation standard-library