c++ - 如何将 llvm::MemoryBuffer 的内容作为 std::string 获取?

标签 c++ clang llvm

我正在使用 Clang FileManager 来处理一些 C++ 源代码。对于调试和转换,我想将文件的内容作为字符串获取。

我可以使用 FileManager::getBufferForFile 获取 llvm::MemoryBuffer

如何将整个 llvm::MemoryBuffer 读入 std::string


这道题是Convert std::string to llvm::MemoryBuffer的逆题.

最佳答案

鉴于 API reference ,看起来很简单:std::string str (mb.getBufferStart(), getBufferEnd());

StringRef并使用 str() 从中获取字符串。

关于c++ - 如何将 llvm::MemoryBuffer 的内容作为 std::string 获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38350649/

相关文章:

c++ - 防止通过纯虚函数实例化类?

c++ - 什么决定了 OpenGL ES 2.0 中屏幕网格的尺寸? (使用 C++)

c++ - C++ 允许 CTFE 吗?

c++ - clang++ 是否以更宽松的方式对待系统头?

iphone - 使用 LLVM 2.0 编译器构建 EXEC_BAD_ACCESS 时临时测试崩溃

c++ - LLVM 字符串值对象 : How can I retrieve the String from a Value?

c++在给定类中创建函数指针 vector ,函数是不同类的成员

c++ - 在 GLSL 中计算点后绘制三角形

c++ - Xcode 4.5 和 OpenMP with Clang (Apple LLVM) 仅使用一个内核

haskell - 使用 LLVM(来自 Haskell)的大数算术