我正在努力为多核处理器优化GCC.我尝试浏览源代码,很难遵循它,因为我需要在后端添加一些代码.任何人都可以建议一些好的资源,解释通过不同阶段的代码流.还提出了一些调试GCC的开发环境,主要是逐步完成代码.在Windows上有可能吗?
作为起点,请参阅海湾合作委员会网站上的链接和选定读物.我认为您特别感兴趣的是:
GNU C编译器内部
使用GCC汇编功能编程语言 -由Andreas Bauer发出的尾调用
由Hans-Peter Nilsson 为笨蛋移植海湾合作委员会
如果你想在Windows上开发,你可能需要从MinGW(Minimalist GNU for Windows)编译器套件源(它包括GNU GDB调试器)开始,这是一个GCC到Windows的端口.
对于一个舒适的开发环境,我无能为力,因为我没有用C++开发.但我想你需要一个很好的C/C++ IDE:看看这个比较,有很多适用于Windows的免费/开源IDE.
更新:我认为ICI对你也很感兴趣:
所述交互式接口汇编 (或简称"ICI")是具有高层次的编译器无关和低水平编译器相关API插件系统当前的编译器变换为协同开模块化交互式工具集.ICI框架充当编译器和用户可定义插件之间的"中间件"接口.它开放并重用生产质量的编译器基础架构,以实现程序分析和仪器,细粒度程序优化,新开发和研究思路的简单原型设计,同时避免从头开始构建新的编译工具.例如,它在MILEPOST GCC中用于基于统计分析和机器学习自动化编译器和体系结构设计以及程序优化.它应该能够实现适用于从超级计算机到嵌入式系统的异构,可重新配置,多核架构的通用自调整编译器.
..作为Collective TUNING伞下的其他项目.
注意:正如BlueRaja在评论中写的那样,编写"编译器是最复杂的程序之一"是一种夸大其词:有非常简单的编译器和非常复杂的编译器.但是在编译理论中(一旦你研究过它),没有什么是深奥的.海湾合作委员会是一个复杂的计划,可以理解为什么BIG,记录不完整的程序1.所以rizwanhudda不要气馁:开始研究可用的文档,然后询问GCC开发人员(在GCC irc频道,如nvl或GCC开发人员邮件列表所建议的那样)来解释什么是不良(或根本没有)记录.
事实上,程序理解是一个活跃的研究领域.