0
일부 텍스트 채우기에 C 전처리기를 사용하려고합니다. 그러나 나를 적극적으로 방해하려는 것 같습니다. 테스트 목적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
은 잘 확장되는 것처럼 보입니다.)
내가 뭘 잘못하고 있니?
추신. 문제가되는 경우
cpp (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
최고 받으실 수 있습니다! 감사. 다른 정의를 확장 할 수있는 방법이 있습니까? – MathematicalOrchid
죄송합니다, 두 번째 부분에 대한 답변을 잊어 버렸습니다. :) 추가되었습니다. – jlahd