Windows下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:\go\src\open.source\go1.20\go Installed commands in D:\go\src\open.source\go1.20\go\bin *** You need to add D:\go\src\open.source\go1.20\go\bin to your PATH.不过不建议加到环境变量,以防止和自己原有的go环境冲突. 想要验证修改后的效果去bin目录下自己执行就好了.
D:\go\src\open.source\go1.20\go\bin>go version go version go1.20.3 windows/amd64 // 本次自己编译安装的go环境.
参考文章:
- 安装gcc编译器:blog.csdn.net/yvge669/art…
- go 源码编译:cloud.tencent.com/developer/a…