【发布时间】:2014-01-06 10:04:18
【问题描述】:
我想找一个具有以下功能的用于预处理 c 文件的库:
- 流程定义
- 过程包括
我想要的小例子:
输入
some_file.h
some_code
main.c
#if SOME_DEFINE == TRUE
#inlcude "some_file.h"
#else
#endif
...
输出(SOME_DEFINE = TRUE) main.c
some_code
...
似乎 boost::wave 非常适合它。 但是我想要更多:包含文件的虚拟文件系统。 所以预处理器将从内存中的虚拟文件系统中获取包含文件,而不是从硬盘中获取。当我必须用许多不同的定义预处理同一个文件时,我需要它来进行更快的预处理。
所以问题是:是否存在像 boost::wave 这样的库,但支持虚拟文件系统?或者也许 boost::wave 以某种方式支持它?
【问题讨论】:
-
这不是你的问题的答案,但是创建一个 RAM 磁盘并在那里复制头文件呢?
-
我认为您可能会在一些编译器代码中找到一些有用的东西。叮当声可能会有所帮助。
-
我认为完成 boost::wave 可能并不难。一方面,查找标头的方式是实现定义的(无论如何都未由 C++ 标准指定)。因此,为了通用,预处理器已经不会假设这些事情了。
标签: c++ c boost c-preprocessor wave