本文由golang教程栏目给大家介绍如何使用 UPX 来压缩 Go 的可执行文件,希望对需要的朋友有所帮助!

通常使用 go 构建的可执行文件有点大,但总是希望生成一个较小的可执行文件。

在这篇文章中,将介绍几种减小可执行文件大小的方法。

最终效果是可执行文件的大小将比正常生成的小得多。

通常构建的文件具有以下大小。

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12/14/2019   9:47 AM        1974272 main-ori.exe

添加构建标志

使用 go 工具构建项目时可以添加两个 ld 参数,它们是 -s 和 -w。

go build -ldflags="-s -w" main.go

-s:省略符号表和调试信息。 大多数情况下,在生产环境中不需要它们。

-w: 省略 DWARF 消息。

这两个参数不会影响程序的执行,但它会减少可执行文件的大小。

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12/14/2019   9:48 AM        1427968 main-flag.exe

UPX 压缩

upx 是一个二进制压缩工具。它可用于压缩二进制文件和进一步减少文件大小。

压缩文件的命令是:

upx main.exe

压缩后,文件大小变小了很多。

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12/14/2019   9:52 AM         495616 main.exe

快乐编码。

原文地址:https://www.pixelstech.net/article/1576288399-GoLang-to-build-smaller-executable-file

译文地址:https://learnku.com/go/t/63386

以上就是UPX怎么压缩Go的可执行文件的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除

  • 相关标签:golang
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    网页生成APP,用做网站的技术去做APP:立即创建

    手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包

    • 上一篇:通过构建最小Web API来展示Go-Spring的强大
    • 下一篇:go语言项目是怎么配置Gitlab CI的

    相关文章

    相关视频


    • 探讨go中的var是否能初始化结构体
    • 简析golang中rune类型
    • 快速解决go get golang.org/x 包...
    • MongoDB和MySQL的区别是什么
    • 通过构建最小Web API来展示Go-Spring...
    • UPX怎么压缩Go的可执行文件
    • SSDB GO语言api文档
    • go语言介绍和环境搭建1
    • go语言介绍和环境搭建2

    视频教程分类

    • php视频教程
    • html视频教程
    • css视频教程
    • JS视频教程
    • jQuery视频教程
    • mysql视频教程
    • Linux视频教程
    • Python视频教程
    • Laravel视频教程
    • Vue视频教程

    专题

    UPX怎么压缩Go的可执行文件