请问关于c的printf函数有关问题

请教关于c的printf函数问题
本帖最后由 dasdase 于 2014-06-12 16:08:25 编辑
   #include <stdio.h> 
   main()
   {
     printf("hello, world\n");
   }
----------------------------------------------------分隔线
.const
szHello db 'Hello, world!', 0
.code
main        proc
invoke    printf, offset szHello
ret
main endp
end    main
我是初学者,用msvcrt.lib的printf和这C的PRINTF函数做对比的,程序如上,我想问,为什么汇编的Messagebox源码和C的基本一样,但printf函数的源码就完全不一样呢,难道说C的printf函数不是这个??,很想知道答案,为什么源码不同?
------解决方案--------------------
提醒:
“学习用汇编语言写程序”

“VC调试(TC或BC用TD调试)时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习C和汇编的对应关系。”
不是一回事!