【发布时间】:2012-12-16 17:24:44
【问题描述】:
我认为从模块中转储 .bc 文件是一项微不足道的操作,但现在, 我第一次必须从代码中真正做到这一点,为了我的一生,我 在这个过程中找不到一个缺失的步骤:
static void WriteModule ( const Module * M, BitstreamWriter & Stream )
http://llvm.org/docs/doxygen/html/BitcodeWriter_8cpp.html#a828cec7a8fed9d232556420efef7ae89
要编写该模块,首先我需要一个 BistreamWriter
BitstreamWriter::BitstreamWriter (SmallVectorImpl< char > &O)
http://llvm.org/docs/doxygen/html/classllvm_1_1BitstreamWriter.html
对于 BitstreamWriter,我需要一个 SmallVectorImpl。但是,接下来呢? 我是否应该将 SmallVectorImpl 的内容逐字节写入 文件处理程序自己?有为此的llvm api吗?我需要什么吗 还有吗?
【问题讨论】:
-
C api 提供了一种简单的方法来做到这一点。直接使用它或看看它是如何工作的并做同样的事情。