Windows下编译Go源码阅读环境

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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!