【发布时间】:2014-10-01 09:51:26
【问题描述】:
我正在尝试使用 C 预处理器进行一些文本处理。然而,它似乎在积极地试图阻挠我。
出于测试目的,我有Test.xml.pre:
<document>
<meta>This is a test.</meta>
SETTINGS
<output format="FORMAT" mode="MODE"/>
</document>
然后我有Setup.cpp:
#define FORMAT fmt
#define MODE XL
#define SETTINGS <settings><!-- None yet --></settings>
我希望我能以某种方式运行预处理器并最终得到格式良好的输出。我看到了this question,这使得使用预处理器看起来很容易。但是当我这样做时:
cpp -E -include Setup.cpp Test.xml.pre -o Test.xml
然后我明白了:
# 1 "Test.xml.pre"
# 1 "<command-line>"
# 1 "./Setup.cpp" 1
# 1 "<command-line>" 2
# 1 "Test.xml.pre"
<document>
<meta>This is a test.</meta>
<settings><!-- None yet --></settings>
<output format="FORMAT" mode="MODE"/>
</document>
尽我所能,我无法摆脱顶部的散列线。我也不确定为什么 FORMAT 和 MODE 没有扩展。 (SETTINGS 似乎扩展得很好。)
我做错了什么??
PS。以防万一,
cpp (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
【问题讨论】:
标签: linux c-preprocessor