LLVM を介してコードを解析することにより、C/C++ コード内のすべての関数の名前を出力しようとしています。ここにある例を参照しましたhttp://llvm.org/docs/WritingAnLLVMPass.html#basic-code-required この例は C コード入力では問題なく動作しますが、C++ 入力では単純な Hello World プログラムで次の関数名が表示されます
__cxx_global_var_init
主要
グローバル_I_a
次に、ここで説明されているように、LLVM には iostream に関する特定の問題があることがわかりました。 -happens-when-i-include-iostream
コードから iostream を削除したところ、出力として "main" のみが得られました。
しかし、convertperm、findType、および main (iostream を持たない) という関数が含まれている多機能 C++ プログラムの場合、次の出力が得られました。
_Z11convertpermSs
_Z8findtypeSs
主要
多機能 C プログラムが正常に動作する
誰でもこの問題を解決できますか?