美文网首页
从0开发一门编程语言一:Windows10调式GO源代码

从0开发一门编程语言一:Windows10调式GO源代码

作者: 折叠幸福 | 来源:发表于2022-08-02 13:48 被阅读0次

    本文非教程,主要是记录博主自己研究的过程.
    自己动手开发一门编程语言是从大学选择计算机就有的梦想,奈何门槛太硬,准备到现在
    倒是想把他写成教程,但是水太深,能力有限,哈哈.
    虽然不是教程,但是也有一定的参考意义,可以学习下.
    学习前的准备知识:
    掌握JS,3天GO语言基本知识学习经验
    <<自制编译器>><<编译原理与实践>>
    博主是上面两门书读不下去了,没有代入感,想着有没有更好的教程,然后发现了GO语言设计与实践
    这个教程,看着是那么回事,但是一动手发现坑太多,主要博主系统是Windows10 64位和教程用的linux不一样.
    第一章踩了一天的坑,感觉不能白踩,写篇博客记录下来.
    正文:
    如果我们想调试GO的源代码,大概思路是 下载GO源代码->修改GO源代码->编译GO源代码->执行个测试文件查看效果.
    1.下载GO源代码
    去GO的官网下载GO源代码,源码下载,
    其实官网给的是一个git地址,博主访问超时了,翻墙才下载成功,
    可以不看官网直接按照下面地址下载就行
    博主是下载到E盘goroot目录

    git clone https://go.googlesource.com/go goroot 
    

    大概880M,

    image.png
    2.修改GO源代码
    我们就简单修改一下,检验下调试思路是不是通的
    IDE打开goroot/src/fmt/print.go 这个文件
    然后找到函数Println 在里面加一行'println("niu bi le")',println是内置方法,可以直接使用.
    image.png
    3.安装编译环境
    Windows平台要用GCC编译GO源码,GCC还分32位和64位;
    Windows的GCC软件是MINGW,比较古老
    这里坑比较多哈,正常应该下载个MinGW就行了,但是这个软件太老了,博主下载64的MINGW,运行软件报错.报错the file has been downloiaded incorrectly
    软件的问题,
    image.png
    光看这个软件的图标就知道多么old了!
    最后去stackoverflow找到的方法,问题地址
    参考这个方法
    image.png

    点进去方法提供的链接,其实就是去下载MINGW64离线包,
    去官网下载MINGW64的是个壳子,运行后你还得勾选要哪些环境,离线包是全给你下载了比较大.

    image.png
    根据红框里的版本下载,别下错了.
    博主把下载的离线包放在了C盘,记得复制目录
    image.png
    然后把该bin路径添加到PATH环境变量里.
    这个时候重新打开控制台,输入gcc回车,如果提示没有找到输入文件,说明编译环境安装成功,如图
    image.png
    4.编译GO源码
    命令行切换到src目录下,输入make.bat回车,linux输入make.bash
    等待一会,如果执行结果最后一行是Installed commands in XXX/bin
    说明执行成功!
    博主是执行成功后在goroot/bin目录下生成了一个go.exe文件
    5.执行测试文件
    我们在生成编译后执行文件的目录下(博主的是goroot/bin),加个测试文件main.go
    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello World")
    }
    

    main.go正常只会打印输出Hello World,但是我们之前再GO Println函数源码加了一行println"niu bi le"
    所以,如果编译源码成功,应该先输出"niu bi le"再输出"Hello World"
    博主之前系统装过golang,如果直接执行go run main.go 则调用的是原来安装的go,只会输出hello world.
    这里,我们把goroot/bin目录里的go.exe改个名字,比如改成go2.exe,然后把该bin路径加入系统path环境变量里.


    image.png

    红框是原来安装的go,绿框是本次教程新增的环境变量.
    重新打开控制台,让环境变量生效,
    在控制台输入go2回车,确认是否生效
    然后在goroot/bin目录下执行go2 run main.go


    image.png

    如图所示,大功告成!

    相关文章

      网友评论

          本文标题:从0开发一门编程语言一:Windows10调式GO源代码

          本文链接:https://www.haomeiwen.com/subject/csmswrtx.html