如果
I
是 llvm::Instruction
类型,我们可以通过 errs() << I;
以人类可读的形式(文本表示)打印出相同的内容
我希望将完全相同的表示分配给
std::string
到 C 类型字符串。我怎样才能做到这一点?
嗯,LLVM 也提供了字符串流:
#include <llvm/Support/raw_ostream.h>
像这样使用它:
std::string str;
llvm::raw_string_ostream(str) << I;
// use str
我在使用@eush77的答案时遇到了一些问题。这是我的修复。
std::string str;
llvm::raw_string_ostream ss(str);
ss << I;
errs() << ss.str() << "\n";
你应该使用
ss << *I
获取文本表示,而不是
ss << I
获取
I
的地址