SPW*_*ley 5 c++ macros templates opencl c-preprocessor
是否有编译器或独立预处理器,它采用C++文件并运行模板扩展传递,生成具有扩展模板实例的新C++代码?
我记得90年代中期这样一个工具,当模板仍然是新的和实验性的时候,预处理器是一种在没有本机模板支持的情况下使用编译器进行模板编程的方法.
这比宏处理步骤复杂得多,因为它可能需要解析和标记代码以理解上下文.
我希望在编写OpenCL代码时使用这样的工具. OpenCL是C++,但不支持模板.我希望我可以编写模板,甚至是简单的模板,比如整数或bool唯一的参数,并且有一些工具预先解析文件并通过查找模板的使用并扩展调用并给我新的C++代码OpenCL编译器可以理解.
即使是非常有限的工具也可能有用,它不需要支持每个模板的怪癖,甚至不需要支持多个模块或任何东西.
替代方案:#define宏到处都是..丑陋,不安全,效率低下,用途不多.