GCC / g ++ cout << vs. printf ()

  • Почему printf ("hello world") в конечном итоге использует больше инструкций процессора в собранном коде (без учета используемой стандартной библиотеки), чем cout << "hello world" ?

Для C ++ мы имеем:

movl    $.LC0, %esi
movl    $_ZSt4cout, %edi
call    _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc

Для C:

movl    $.LC0, %eax
movq    %rax, %rdi
movl    $0, %eax
call    printf
  • ДЛЯ ЧЕГО строка 2 кода C ++ и строки 2,3 кода C?

Я использую gcc версии 4.5. 2

7
задан Sebastian Mach 18 October 2012 в 05:49
поделиться