安装go
1.官网下载go
普通的下载安装go,想必大家都会,这里不过多叙述
但是有要注意的点
如果你安装好了go,go安装程序会自动帮你配置环境变量,这是很正常的,但是go还有不正常的地方,他在用户变量里帮你擅自添加了go的工程文件夹
在系统变量里的path中会添加
这是正常的,不要去修改它
在用户变量里,它会添加
这是你当前用户的go工作区,可以修改
在用户变量里的path,它会添加
这是当前go工作区内的bin目录(这是存放调试go程序的工具用的,稍后会再说)
如果你修改了GOPATH,那么这个变量也要相应的修改,它是GOPATH中的bin目录
2.VScode安装拓展
在VScode的应用商店里面搜索Go
用如图所示的插件
安装完后,创建 步骤1描述的 工作区
比如 我的GOPATH是 C:\Users\wsxk\Documents\go
我就在这个path下创建go目录
然后创建 bin目录、pkg目录、src目录(放源代码)
3.尝试编写go程序
第一次尝试F5
插件会它提示你在bin目录下安装调试工具
直接全下( 注意要用vpn连上外网,不然你会下载失败)
下载成功后就可以开始编写代码了
概述
这里主要讲一下go语言的汇编机制,不定时更新(
主要是因为go它不按常理出牌啊
底层机制弄得和传统不一样,要用起来就很麻烦
1.汇编寄存器传参
和普通的linux64位程序(rdi,rsi,rdx,rcx,r8,r9)不同
举个例子
感觉不仅用到了栈,还用到了寄存器
之后有空再来深究(
2.栈帧机制
go一开始会预留空间作为栈帧,rbp的用处不是很大(可有可无
一般都是去 rsp+xxh+var_xx来作为索引
可以看到 rsp+40h就是栈帧