我将滥用C预处理器来构建我的构建系统,以从同一源文件生成“readme”纯文本文件和网页。 构建过程类似于以下内容:
实际定义位于
请注意,URL中的
使用此标题,文件
当然,预处理器输出如下:
实际定义位于
data.h
中:#define WEBSITE "http://example.com"
请注意,URL中的
//
必须加引号,否则它会被视为注释的开头。当在参数中使用,
时,也会出现类似的问题;必须加引号,否则逗号将被视为参数分隔符。使用此标题,文件
readme.txt.pp
将通过C预处理器运行:#include "data.h"
Visit the website at WEBSITE!
当然,预处理器输出如下:
Visit the website at "http://example.com"!
引号会出现在输出结果中。有没有什么方法或解决办法能够让这段代码输出如下结果:
Visit the website at http://example.com!
我正在使用Visual C++ 2008。我知道预处理器并不是完成这个工作的理想工具;欢迎使用其他内置的VC++特性的建议。(我尝试了使用XSLT的XML,但无法将一个XML文件包含到另一个中,这是一个阻碍)
document()
真是个救星!现在回归 XSLT :) - Thomas