首页 > 其他分享 >Go -ldflags参数

Go -ldflags参数

时间:2023-08-22 09:47:58浏览次数:30  
标签:选项 go 参数 build ldflags Go 链接

在 Go 语言的编译和链接过程中,-ldflags 是一个非常有用的标志。它允许您传递参数给 Go 链接器。使用 -ldflags,您可以设置在链接阶段的各种选项。

以下是一些使用 -ldflags 的常见场景:

  1. 设置版本信息

    假设您的 Go 项目中有如下的变量:

    var Version string
    

    您可以使用 -ldflags 在编译时为这个变量赋值,这常常用于注入项目的版本信息:

    go build -ldflags "-X main.Version=1.0.0"
    
  2. 减小生成的二进制文件大小

    使用 -s-w 选项可以去掉符号表信息和调试信息,从而生成一个更小的二进制文件:

    go build -ldflags="-s -w"
    
  3. 禁用堆栈溢出检查

    这对于某些低资源的嵌入式系统或 WebAssembly 可能是有用的:

    go build -ldflags="-B"
    

这只是 -ldflags 可以做的事情的一部分。它提供了大量的选项,允许您深入定制链接器的行为。为了完全了解所有可用的选项,您可以查阅 Go 链接器的官方文档或通过命令 go tool link 获取帮助信息。

标签:选项,go,参数,build,ldflags,Go,链接
From: https://www.cnblogs.com/tangjicheng/p/17647659.html

相关文章

  • python 外部文件调用Django程序操作model
    importosimportdjango#设置Django配置文件文件夹所在位置,并进行系统环境配置os.environ.setdefault("DJANGO_SETTINGS_MODULE","项目配置文件夹名称.settings")#加载Django模块,初始化Django环境django.setup()#导入需要调用的modelfrom应用名称.modelsimport......
  • goland基于wsl编译构建程序
    问题在window上构建出linux-amd64程序解决https://www.jetbrains.com/help/go/how-to-use-wsl-development-environment-in-product.htmlx01|windowwsl2安装点击查看x02|从store下载linuxdeepincentosx03|配置golangpassx04|新建项目......
  • GoLang:指针
    学习自:GoLang教程110页1、普通指针说明指针变量用于存放其他变量的地址无论指向什么类型的变量,指针的实际内存占用都是一样的:32位4B,64位8B:varp1*int;varp2*float64;varp3*bool;fmt.Println(unsafe.Sizeof(p1))//8fmt.Println(unsafe.Sizeof(p2))//8fmt.Println(u......
  • C++遍历TypeList(可变模板参数)的简单办法
        这里例举了两种方案,一种是基于C++17的constexpr,实现起来更精简。另外一种使用传统的方式,C++11就可以用了。    另外C++11的方案也是一种计算不定参数模板参数个数的方法。#include<iostream>#include<string>//inC++17#if((defined(_MSVC_LANG)......
  • 参数化重采样时频变换(PRTF变换)附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • jvm参数与gclog
    http://ifeve.com/logging-stop-the-world-pauses-in-jvm/https://blog.csdn.net/ligeforrent/article/details/80834154......
  • MT6783核心板,MTK6783安卓核心板性能参数
    联发科的MT6783核心板采用高性能四大核A76和四小核A55的旗舰八核架构,主频高达2GHz,为用户带来更流畅的应用程序加载和游戏体验。作为联发科在5G集成SoC技术上的领先者,天玑800采用了7nm制程,为厂商提供高效、旗舰级的5GSoC解决方案。MT6783核心板内置双载波聚合的5G集成单芯片,在提供......
  • RunnerGo中WebSocket、Dubbo、TCP/IP三种协议接口测试详解
    大家好,RunnerGo作为一款一站式测试平台不断为用户提供更好的使用体验,最近得知RunnerGo新增对,WebSocket、Dubbo、TCP/IP,三种协议API的测试支持,本篇文章跟大家分享一下使用方法。WebSocket协议WebSocket是一种在单个TCP连接上进行全双工通信的API技术。相比于传统的HTTP请求,We......
  • RunnerGo中WebSocket、Dubbo、TCP/IP三种协议接口测试详解
    大家好,RunnerGo作为一款一站式测试平台不断为用户提供更好的使用体验,最近得知RunnerGo新增对,WebSocket、Dubbo、TCP/IP,三种协议API的测试支持,本篇文章跟大家分享一下使用方法。WebSocket协议WebSocket是一种在单个TCP连接上进行全双工通信的API技术。相比于传统的HTTP请......
  • Django自定义中间件验证用户token信息
    1.新建middleware.pyfromdjango.urlsimportreversefromrest_framework.responseimportResponsefromutils.tokenimportcheck_tokenfromdjango.httpimportJsonResponse,HttpResponseRedirectfromyshop.modelsimportMyUsertry:fromdjango.utils.de......