GCC는 1문자를 printf() 시 assembly어의 putchar을 call한다. GCC는 1문자이상과 carrige-return(\n)을 printf()시 assembly어의 puts를 call한다. GCC는 1문자이상을 puts()시 assembly어의 puts를 call한다. GCC는 2문자이상을 printf시 assembly어의 printf를 call한다. {{{~cpp .LC0: .string "1" .LC1: .string "2" .LC2: .string "3" .LC3: .string "45" // printf("1\n"); subl $12, %esp pushl $.LC0 call puts addl $16, %esp // puts("2"); subl $12, %esp pushl $.LC1 call puts addl $16, %esp // printf("3"); subl $12, %esp pushl $51 call putchar addl $16, %esp // printf("45"); subl $12, %esp pushl $.LC2 call printf addl $16, %esp }}}