C/C++ 使用 Apache Velocity 生成语言文件

C/C++ language file generation with Apache Velocity

我需要生成一个 C/C++ 源文件,我想使用速度,因为我已经有了样本输出文件,只需要更改样本中的一些动态部分。问题是模板文件包含很多 #define#include。有没有办法从 Velocity 禁用 #define#include 指令?因为我在生成时不需要它们。

我还考虑过使用 #[[...]]# 转义文件的那些部分,但这意味着模板文件中有很多更改,我想保留尽量和示例文件一样。

org.apache.velocity.runtime.RuntimeInstance 对象有一个 removeDirective(String name) 方法,所以我猜你只需要调用:

runtimeInstance.removeDirective("define");
runtimeInstance.removeDirective("include");

禁用这两个指令。