3

私は C++ プログラミングが初めてで、現在llvmフロントエンド開発プロジェクトに取り組んでいます。llc によって作成されたオブジェクト ファイルをリンクすると、リンカーは次の関数を見つけることができません。これらは標準の C++ ライブラリ関数であることはわかっていますが、使用しても機能し-lstdc++ません。ここで私の質問は、これらの関数がどこで定義されているか、どのようにオブジェクト ファイルとリンクできるか、そして実際に何をするかということです。

declare noalias i8* @_Znam(i64)

declare noalias i8* @_Znwm(i64)
4

1 に答える 1

4

これらの関数は、特に標準C++ライブラリ関数operator new[](unsigned long)ですoperator new(unsigned long)。これらは、C++ランタイムライブラリによって提供される必要があります。使用しているコンパイラに応じて、これはlibsupc ++、libc ++ abi、またはlibcxxrtになります。

于 2013-01-14T06:07:08.533 に答える