【发布时间】:2015-02-19 16:03:25
【问题描述】:
GCC 源代码中实际为不同架构构建程序集的代码在哪里?
想知道它编译成多少种不同的汇编语言,以及它实际上是如何做到的(通过查看源代码)。
它是在某个地方的 gcc repo 中,还是在另一个 repo 中?我已经开始四处挖掘,但没有找到任何东西。
https://github.com/gcc-mirror/gcc
例如,这里是 V8 中的一些汇编生成代码:
https://github.com/v8/v8-git-mirror/tree/master/src/x64
GCC 有什么等价物吗?
我想知道,因为 GCC 是如何做到这一点的,这是一个谜,这将是了解编译器如何实际实现到汇编级别的好方法。
【问题讨论】:
-
gcc非常强大,但同时又极其复杂且不友好。我建议从 LLVM 方面学习这个领域。它很好,干净且紧凑,每个步骤都很好地隔离,因此更容易理解。我建议先阅读以下内容:eli.thegreenplace.net/2012/11/24/life-of-an-instruction-in-llvm
标签: c gcc assembly compiler-construction