int printf (const char* format, ... );
これは printf の署名です。私が理解していないのは、printf が最初の引数 ( const char* format
) の長さをどのように知るかということです。
開始点は知っていますが (それはポインターなのでわかります)、ポインターには終了点などはありません。通常、何かを印刷したい場合、長さを指定する必要があります (たとえば、Linux のsys_write
)。
編集:
ASM で書いたコードをもう少し調べてみたところ、\0
char を探しているだけだと思います。あれは正しいですか?