我有以下代码:
#include <stdio.h>
int main()
{
printf ("hello world\n");
return 0;
}
在 Windows 7 x86 上使用 MSVC++ 10.0,我在命令行上编译它如下:
cl.exe simple.cpp
这将生成 simple.exe(编译器自动调用链接器)并且可执行文件按预期显示“hello world”消息。当我查看带有depends.exe的可执行文件时,它显示kernel32.dll是唯一的依赖项。当我转储 kernel32.dll 库的内容时,没有显示 printf。
VC++ 是否采用了某种优化,以便 printf 以某种方式直接包含在最终的可执行文件中?如果是这样,它是如何记录的,是否记录在任何地方?