开放获取
马丁·j·科尔,史蒂文·g·帕克, "动态编译c++模板代码",科学的规划, 卷。11, 文章的ID306458, 7 页面, 2003. https://doi.org/10.1155/2003/306458
动态编译c++模板代码
收到了
2003年12月02
接受
2003年12月02
摘要
使用c++模板工具的泛型编程已经成为一种成功的方法,用于创建高性能、通用的科学计算和可视化算法。然而,添加模板代码往往需要更多的模板代码在周围的结构和算法,以保持通用性。编译这些模板的所有可能的扩展会导致大量的模板膨胀。此外,模板的编译时绑定要求在编译时知道所有可能的排列,这限制了泛型代码的运行时可扩展性。我们提出了一种方法,将这些模板的编译延迟到需要一个确切的类型。这种动态编译机制将生成特定应用程序所需的最少编译代码量,同时保持模板本身提供的通用性和性能。通过在每个模板化类中使用少量支持代码,可以在运行时生成适当的模板化代码,而无需修改编译器。我们将在SCIRun数据流系统中描述这个目标的实现。SCIRun可以在网上免费使用。
版权
版权所有©2003 Hindawi出版公司。这是一篇发布在知识共享署名许可协议,允许在任何媒介上不受限制地使用、传播和复制,但必须正确引用原作。