我有一个奇怪的宏,我正在调试,我似乎无法弄清楚如何获得预处理器的输出。我正在寻找相当于GCC的-save-temps
。我已经尝试将dpp
传递给compile:file/2
,但它似乎生成了一个解析树,而不是预处理的Erlang。
compile:file("t.erl", 'E').
很棒,但对导致语法错误的宏没有帮助。由于缺乏调试复杂宏的方法,我倾向于通过编写生成代码的程序来进行元编程。
答案 0 :(得分:6)
尝试以下方法之一:
compile:file("t.erl", 'P').
compile:file("t.erl", 'E').