我想知道是否有人使用通用的预处理器来操作文本文件。
这个想法产生了,因为Java没有预处理器,但是我希望有条件代码编译,等等。
现在,更进一步地讲,对于任何需要频繁编辑的文件,我都可以使用通用的预处理器,但是所有的编辑都是以类似的方式进行的。
现在,有一个好的ol‘m4,我想使用它,因为我使用的是C-预处理器,还有GPP,但是在2007年停止了开发。
我想要一些预处理器更好的建议,如果可能的话,它应该以C-预处理程序对待它们#define SOMETHING的方式接受指令。
由于m4不使用sigils或其他什么东西,它可能会与其他代码发生冲突,当m4是要走的路时,我需要关于如何在每个指令前加上一个信号或不同前缀或其他什么的建议。
发布于 2010-08-16 11:18:59
大多数C/C++编译器允许您只运行预处理器并保存输出,并且可以用于一般输入。(对于VisualC++,我认为选项是/P)
但是请记住,预处理器解决的问题和解决的问题一样多。C++和Java的设计者都在努力消除使用预处理器的需要。例如,在Java中,这样的代码:
if (true)
CallThis();
else
DoNotCallThis();只为CallThis()调用生成代码,而不是为条件或其他分支生成代码。(这不是实现的质量问题-这是Java语言定义的要求)。
发布于 2015-05-08 06:32:21
对于“sigil”,使用m4的命令行选项-P在所有内置的m4宏中添加前缀m4_。然后是m4_define、m4_divert等。
https://stackoverflow.com/questions/3492565
复制相似问题