首页> 外文会议>International Conference on Software Engineering: New Ideas and Emerging Results >Conditional Compilation is Dead, Long Live Conditional Compilation!
【24h】

Conditional Compilation is Dead, Long Live Conditional Compilation!

机译:有条件的编译已经死了,长期存在条件编译!

获取原文

摘要

Highly-configurable systems written in C form our most critical computing infrastructure. The preprocessor is integral to C, because conditional compilation enables such systems to produce efficient object code. However, the preprocessor makes code harder to reason about for both humans and tools. Previous approaches to this challenge developed new program analyses for unpreprocessed source code or developed new languages and constructs to replace the preprocessor. But having special-purpose analyses means maintaining a new toolchain, while new languages face adoption challenges and do not help with existing software. We propose the best of worlds: eliminate the preprocessor but preserve its benefits. Our design replaces preprocessor usage with C itself, augmented with syntax-preserving, backwards-compatible dependent types. We discuss automated conditional compilation to replicate preprocessor performance. Our approach opens new directions for research into new compiler optimizations, dependent types for configurable software, and automated translation away from preprocessor use.
机译:以C编写的高度可配置系统形成了我们最关键的计算基础架构。预处理器是C的成本,因为条件编译使得能够产生有效的对象代码。但是,预处理器使代码更加难以理解为人类和工具。此挑战的先前方法开发了新的程序分析,用于未支持的源代码或开发出的新语言和构造以替换预处理器。但具有专门的分析意味着维护一个新的工具链,而新语言面临采用挑战,并没有帮助现有的软件。我们提出了世界上最好的:消除预处理器但保留其利益。我们的设计将预处理器用法替换为C本身,使用语法保留,向后兼容的依赖类型增强。我们讨论自动化的条件编译以复制预处理器性能。我们的方法为研究新的编译器优化,依赖于可配置软件的依赖类型以及远离预处理器使用的自动翻译,开辟了新的指示。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号