Ich versuche, Funktionen aus meiner C++ - Standardbibliothek nach ihrem verkrüppelten Namen zu finden. Ich bin auf macOS, so die nm
Befehl kann ich inspizieren einen dylib
:Wo ist std :: endl in meiner kompilierten Standardbibliothek?
nm -g /usr/local/lib/libc++.dylib
nm -g /usr/local/lib/libc++abi.dylib
In der Ausgabe ich die entstellten Namen für std::cout
finden:
0000000000079ec0 S __ZNSt3__14coutE
0000000000079f60 S __ZNSt3__15wcoutE
etc...
Allerdings finde ich nicht Einträge für std::endl
.
Interessanter auch nicht std::endl
, meine LLVM IR-Interpreter finden, obwohl std::cout
gut funktioniert:
LLVM ERROR: Program used external function
'__ZNSt3__14endlIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_' which could not be resolved!
Wo soll ich std::endl
auf meinem System zu erwarten darf
Können Sie versuchen 'std :: flush' zu finden? – Rakete1111
Ich vermute, dass 'std :: endl' nicht verknüpft ist, da es einfach' << '\ n' << std :: flush' ist. – YSC
'std :: flush' scheint zu sein:' 0000000000011bb0 T __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv' – sdgfsdh