2010-03-08 39 views
0

由于LLVM/cLang设计得非常好。clang中的其他宏支持?

这似乎是扩大C/C++宏/预处理器系统的好机会。

有谁知道由锵加入

  1. 额外的宏/预处理能力或
  2. 侧面项目,使宏观系统更强大的(像图灵完备)

注:我询问宏。不是C++模板。我想这个线程是宏/预处理器特定的。

回答

1

LLVM/clang设计得非常好。 clang预处理器特别好:跟踪宏扩展等。我怀疑它没有被扩展的原因是1.扩展预处理器是非标准的,并且2.没有人完成它。随意扩展它。正如他们在LLVM IRC上所说:“欢迎修补程序”,尽管我怀疑非标准的预处理程序扩展可能不会。

有关预处理器采用极限的例子,请看PL/1。 ;-)

0

为什么不只是使用M4作为预处理器?

+0

这听起来很有意思,但是用google搜索我找不到如何告诉clang使用m4作为预处理器我该怎么做?特别是,假设我有一个包含anotehr .hpp文件的.hpp文件;我如何告诉m4对包含的文件进行预处理? – anon 2010-03-11 18:33:57

+1

你需要做的是使用一个脚本M4,在将它们送到实际的C++编译器之前,先对所有文件(包括头文件)进行预处理。好消息是你没有发明一个强大的宏观系统,因为M4已经具有图灵功能。如果你坚持把宏定义在* .hpp文件中,那么你可以在C++注释中定义M4宏,对代码进行预先扫描以提取和收集M4宏,然后执行M4应用程序。 – 2010-03-11 20:11:16