如何在个人电脑上编译并调试 golang 编译器源代码

新手上路,请多包涵

问题描述

本人接触 golang 已经有一段时间了, 最近在折腾着想在自己的 PC 上搭建起 golang 编译器源代码的环境, 通过调试学习一下 golang 的实现, 相信这样能更好的学习到更多 go 语言的精髓, 但是苦于一直没有成功, 因此想在此请教各位大神, 希望大神不吝赐教, 万分感谢!

阅读 2.2k
3 个回答

1、首先你的系统需要是 Linux 或者 Unix
2、电脑硬件要能满足要求(i7 CUP,8G RAM,至少100G的磁盘空间)
3、系统需要安装完所有编译依赖,例如 make 。可以参考如何构建 deb包、rpm 包,把编译环境搭起来。其它依赖可在编译出错,提示缺少依赖的时候安装。
4、要有足够的耐心,和比较强的英语阅读能力,因为编译过程中的很多东西需要反复的查资料,才能找到合适的依赖包,而且这些依赖的网站大多数是做开源的,比较古老,需要比较深厚的技术功底才能弄清整个流程。
5、要有足够的耐心,我编译 swift的时候我的MacPro 至少花了 45分钟,这还是在很多依赖都已经编译好的情况下。

go 语言有两种编译器, gc 和 gccgo , 均可在多种平台/系统编译.

参考 https://golang.org/doc/instal...

If a binary distribution is not available for your combination of operating system and architecture, try installing from source or installing gccgo instead of gc.

《go语言学习笔记》这本书有很详细的go源码解析,目前我也在学习当中,希望共勉

环境的话也不复杂,主要有以下几点:
1·Linux环境
2·安装gdb调试
3·clone下来源码
4·写一个简单的demo,并通过gdb调试

你就可以从入口一步步地学习里面的函数是怎么调用的,包括内存管理,垃圾处理等等。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题