【问题标题】:string representation of llvm::Type structurellvm::Type 结构的字符串表示
【发布时间】:2012-01-04 01:55:54
【问题描述】:

llvm::Type 2.9 和更早版本曾经使用getDescription 方法来检索该类型的字符串表示形式。此方法在 llvm 3.0 中不再存在。

我不确定这是否被 Type::print(raw_ostream&) 弃用,但无论如何我对这个 API 很好奇。有哪些关于如何使用它的例子?如何转储到 stringconst char*

特别是,我想将字符串传递给Boost::Format,这是一个现代c++ sprintf

【问题讨论】:

    标签: c++ string llvm llvm-3.0


    【解决方案1】:

    我想,您需要创建llvm::raw_string_ostream 的实例并将您的 std::string 传递给它的构造函数。现在您可以将其用作llvm::raw_ostream,完成后只需调用.str() 即可获取您的字符串。

    类似的东西:

    std::string type_str;
    llvm::raw_string_ostream rso(&type_str);
    your_type->print(rso);
    std::cout<<rso.str();
    

    LLVM 已经改变了它的接口,所以现在可以使用以下方法:

    std::string type_str;
    llvm::raw_string_ostream rso(type_str);
    your_type->print(rso);
    std::cout<<rso.str();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-16
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多