我正在将libx264转换为renderscript作为练习将一个更大的项目移植到renderscript中的工作量。 renderscript的一个难点是,所有东西都需要声明为静态,不能自动获取java接口。此自动java接口也无法处理指针,多维数组等。因此我需要在libx264中将所有函数和全局变量声明为静态,除了一些调用函数来控制它。
我的问题是,因为一切都被声明为静态,所以我需要将所有代码放在一个文件范围内。我开始将所有C代码文件都包含在一个并编译。如果不是libx264本身也包含具有不同预处理宏定义的C文件,那么这将非常容易地工作,因此一些函数存在两次具有不同的内容并且一些被重新声明的相同。我当然可以手动处理,但使用工具会更容易。
我问是否有人知道可以采用 C 项目的工具,并将其预处理/合并到一个C文件中,管理重新声明,冲突的声明等。< / p>
我认为堆分配将是一个难题......
答案 0 :(得分:0)
我找到了一个这样做的工具,CIL。 http://sourceforge.net/projects/cil http://kerneis.github.com/cil/doc/html/cil/merger.html
/哈拉尔德