Go源码环境搭建.
简单记录下在Windows搭建Go源码环境,方便阅读源码.
-
github上下载最新go代码.
https://github.com/golang/go
git checkout study -b go1.20 // 根据go最新版本tag在本地构建一个学习分支 -
Windows上安装
gcc
编译器我们最后要在修改源码之后,然后让自己的代码能够运用到自己修改之后的go环境,所以需要go编译成二进制放到PATH中,用来充当我的go环境,而Go在执行编译时是需要
gcc
编译器得,CGO
的原因我们只需要将下载链接:
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-win32/seh/x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z
直接下载后解压,然后将bin目录放到环境变量中即可. -
Go源码编译:
Go在1.4之后的版本后可以用自身Go环境进行编译,只不过其中要用到
cgo
,所以我们只要有gcc
环境+go环境就可以实现go源码编译.编译之前确保你电脑上有如下环境:
go version
go version go1.19.3 windows/amd64
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=D:/c/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
.....编译:直接执行src/all.bat
直接执行脚本后,go会去对所有包进行校验,以防止编译之后的环境用不了等.
之后我们将脚本执行之后的bin加在环境变量中就可以了
当我们看到下面的情况时就说明已经编译好了:直接加到环境变量中就可以用了
ALL TESTS PASSED
---
Installed Go for windows/amd64 in D:gosrcopen.sourcego1.20go
Installed commands in D:gosrcopen.sourcego1.20gobin
*** You need to add D:gosrcopen.sourcego1.20gobin to your PATH.不过不建议加到环境变量,以防止和自己原有的go环境冲突. 想要验证修改后的效果去bin目录下自己执行就好了.
D:gosrcopen.sourcego1.20gobin>go version
go version go1.20.3 windows/amd64 // 本次自己编译安装的go环境.
参考文章:
-
安装gcc编译器:https://blog.csdn.net/yvge669/article/details/124564622 -
go 源码编译:https://cloud.tencent.com/developer/article/1808829
原文始发于微信公众号(社恐的小马同学):Windows下编译Go源码阅读环境
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/269741.html