首页 > 编程语言 >Go汇编

Go汇编

时间:2024-04-24 21:56:48浏览次数:26  
标签:汇编 00 0x0000 go Go main size

Go语言编译后的汇编指令

Go1.20以及之后的版本为了减小Go发行版的大小,默认不再安装标准库的预编译包,需要执行以下命令自行安装。

GODEBUG=installgoroot=all go install std

否则若依赖到标准库,会抛出类似以下异常:

 could not import fmt (open fmt.a: no such file or directory)
//main.go
package main
   func main() {
}
go tool compile -S main.go
//Output:
"".main STEXT nosplit size=1 args=0x0 locals=0x0 funcid=0x0
    0x0000 00000 (main.go:3)	TEXT	"".main(SB), NOSPLIT|ABIInternal, $0-0
    0x0000 00000 (main.go:3)	FUNCDATA	$0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
    0x0000 00000 (main.go:3)	FUNCDATA	$1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
    0x0000 00000 (main.go:8)	RET
    0x0000 c3                                               .
go.cuinfo.packagename. SDWARFCUINFO dupok size=0
    0x0000 6d 61 69 6e                                      main
""..inittask SNOPTRDATA size=24
    0x0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    0x0010 00 00 00 00 00 00 00 00                          ........
gclocals·33cdeccccebe80329f1fdbee7f5874cb SRODATA dupok size=8
    0x0000 01 00 00 00 00 00 00 00                          ........

-N 参数禁止编译器进行优化, -l 参数禁止内联代码,

标签:汇编,00,0x0000,go,Go,main,size
From: https://www.cnblogs.com/acethan/p/18156445

相关文章

  • godot shader 升级
    WORLD_MATRIXrenametoMODEL_MATRIXWORLD_MATRIX重命名为MODEL_MATRIXWORLD_NORMAL_MATRIXrenametoMODEL_NORMAL_MATRIXWORLD_NORMAL_MATRIX重命名为MODEL_NORMAL_MATRIXCAMERA_MATRIXrenametoINV_VIEW_MATRIXCAMERA_MATRIX重命名为INV_VIEW_MATRIXINV_CAMERA_MATRIXrena......
  • Golang - 并发同步更新全局切片失败的原因以及解决方案
    当多个协程同时访问和修改同一个共享资源(如切片)时,如果没有适当的同步机制,可能会导致数据竞争和不一致的结果。packagemainimport("fmt""sync")funcprocessChunk(chunk[]int64,wg*sync.WaitGroup,failedList[]int64){deferwg.Done()fmt.Print......
  • golang 实现文件下载
    golang实现文件下载packagemainimport("fmt""html/template""io""io/fs""mime""net/http""os""path/filepath""regexp"&qu......
  • 6.prometheus监控--监控redis/rabbitmq/mongodb
    1.监控redis1.1安装方式1.1.1二进制源码安装方式参考nginx二进制安装方法redis_exporter下载地址:https://github.com/oliver006/redis_exporter/releases系统服务:cat>/etc/systemd/system/redis_exporter.service<<"EOF"[Unit]Description=PrometheusRedisExport......
  • godot4.2 vscode配置
    launch.json文件{//使用IntelliSense了解相关属性。//悬停以查看现有属性的描述。//欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","configurations":[{"name":......
  • 如何在 VSCode 中配置和编写 LINGO
    目录如何在VSCode中配置和编写LINGO安装VSCode扩展LINGO脚本文件与runlingo命令LINGO命令行交互和脚本文件配置VisualStdioCode的设置配置LTF文件的代码高亮关于文件兼容的一些小问题如何在VSCode中配置和编写LINGOLINGO是用来解决优化问题的一个特别好用的......
  • MIGO BAPI BAPI_GOODSMVT_CREATE 各种类型使用汇总
    ***********GOODSMVT_CODE取值含义********01MB01*02MB31*03MB1A"发*04MB1B"转储*05MB1C"其它收货*06MB11*07MB04经常会遇到一些自定义的移动类型,但是并不知道对应的goodsmvt_code是多少。可以用如下方法进行查找首先去T158B中根据移动类......
  • 【介绍一个组件】go: Copy-On-Write map,对读极多和写极少的场景做优化
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯代码请看:https://github.com/ahfuzhang/cowmap有这样一种场景:数据量不多的map,在使用中读极多写极少。为了在这种场景下做极致的优化,我实现了copy-on-write的map:其......
  • golang通过sock进行通信
    只是demo,生产环境要防止粘包。可以作为多进程之间通讯。。。。serverpackagemainimport( "fmt" "net" "os" "os/signal" "sync" "syscall")//客户端连接结构typeClientstruct{ Conn*net.UnixConn}varclients=make(map......
  • Django 自定义创建密码重置确认页面
    要实现上述功能,你需要修改模板文件以添加“忘记密码”链接,并创建新的视图函数来处理密码丢失修改页面、验证和密码修改。下面是你可以进行的步骤:1.修改模板文件在登录页面的表单下方添加一个“忘记密码”链接:<divclass="form-grouptext-center"><buttontype="submit"......