私は自分のC++標準ライブラリから関数を見つけようとしています。私はstd::cout
のためのマングルされた名前を見つけることができ、出力でコンパイルされた標準ライブラリのstd :: endlはどこにありますか?
nm -g /usr/local/lib/libc++.dylib
nm -g /usr/local/lib/libc++abi.dylib
::私は、私はdylib
を検査することができnm
コマンドを使用して、MacOSで午前
0000000000079ec0 S __ZNSt3__14coutE
0000000000079f60 S __ZNSt3__15wcoutE
etc...
をしかし、私は、任意のを見つけることができません。 std::endl
のエントリ。 std::cout
が正常に動作しますが、
興味深いことに、私のLLVM IRインタープリタはまた、std::endl
を見つけることができません:
std::endl
を見つけることを期待すべきである
LLVM ERROR: Program used external function
'__ZNSt3__14endlIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_' which could not be resolved!
?
あなたは 'のstd :: flush'を見つけようとすることはできますか? – Rakete1111
'std :: endl'が単に' << '\ n' << std :: flush'のようにリンクされていないと思われます。 – YSC
'std :: flush'が存在するようです:' 0000000000011bb0 T __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv' – sdgfsdh