在asm中,printf()如何知道传入了多少变量?

时间:2012-10-27 15:45:16

标签: c assembly compiler-construction printf

在汇编语言的世界中,当你致电printf()时,你会这样做:

push arg_N
push arg_N-1
..
push arg1
push format
call _printf

printf()如何知道传递了多少参数?

1 个答案:

答案 0 :(得分:7)

它只是沿着字符串走,在找到%-format项时消耗参数。如果参数少于%-items,则会发生可怕的事情。