1

Boost Wave 提供了一个可重用的 C 预处理器。从文档中很容易获得它所做的事情的(广泛的)列表,它支持的标准,它包含的功能等。

不做什么?它是否支持 GCC 和 Microsoft C++ 的所有非标准扩展?还是用于嵌入式系统的各种供应商编译器?它对内联汇编的各种语法或古怪遗留系统中已弃用的代码有何影响?有没有人尝试过,例如完整的 Linux 内核源代码或 Windows 标头集?

4

2 回答 2

1

好的,我自己编译并运行了几个实验。到目前为止,它似乎不支持这个 GCC 扩展:

http://gcc.gnu.org/onlinedocs/cpp/Directives-Within-Macro-Arguments.html#Directives-Within-Macro-Arguments

以及包含以下构造的 Microsoft 头文件 C:\Program Files (x86)\Microsoft Visual Studio 11.0\vc\include\xkeycheck.h 上的 barfs:

#if defined(auto)   /* check C keywords */  \
|| defined(break) \
...
于 2013-01-28T09:48:37.220 回答
-1

确定它是否支持您最喜欢的扩展的最简单方法就是,您知道,尝试一下。在这里提问并等待足够多的评论/答案积累以得出结论可能更快。或者查看文档,如果它根本不谈论 GCC/MSC 扩展,它可能只是不知道它们。

于 2013-01-30T12:53:07.043 回答