首页 > 其他分享 >Go - go build -ldflags

Go - go build -ldflags

时间:2024-04-17 18:44:59浏览次数:19  
标签:set string linker go build file Go

 

# download dependencies and build
RUN go mod download
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags="-s -w" -o /go/bin/server

 

zzh@ZZHPC:~/aaa$ go build -ldflags="-help" ./main.go
# command-line-arguments
usage: link [options] main.o
  -B note
    	add an ELF NT_GNU_BUILD_ID note when using ELF; use "gobuildid" to generate it from the Go build ID
  -E entry
    	set entry symbol name
  -H type
    	set header type
  -I linker
    	use linker as ELF dynamic linker
  -L directory
    	add specified directory to library path
  -R quantum
    	set address rounding quantum (default -1)
  -T int
    	set the start address of text symbols (default -1)
  -V	print version and exit
  -X definition
    	add string value definition of the form importpath.name=value
  -a	no-op (deprecated)
  -asan
    	enable ASan interface
  -aslr
    	enable ASLR for buildmode=c-shared on windows (default true)
  -benchmark string
    	set to 'mem' or 'cpu' to enable phase benchmarking
  -benchmarkprofile base
    	emit phase profiles to base_phase.{cpu,mem}prof
  -buildid id
    	record id as Go toolchain build id
  -buildmode mode
    	set build mode
  -c	dump call graph
  -capturehostobjs string
    	capture host object files loaded during internal linking to specified dir
  -compressdwarf
    	compress DWARF if possible (default true)
  -cpuprofile file
    	write cpu profile to file
  -d	disable dynamic executable
  -debugnosplit
    	dump nosplit call graph
  -debugtextsize int
    	debug text section max size
  -debugtramp int
    	debug trampolines
  -dumpdep
    	dump symbol dependency graph
  -extar string
    	archive program for buildmode=c-archive
  -extld linker
    	use linker when linking in external mode
  -extldflags flags
    	pass flags to external linker
  -f	ignore version mismatch
  -g	disable go package data checks
  -h	halt on error
  -importcfg file
    	read import configuration from file
  -installsuffix suffix
    	set package directory suffix
  -k symbol
    	set field tracking symbol
  -libgcc string
    	compiler support lib for internal linking; use "none" to disable
  -linkmode mode
    	set link mode
  -linkshared
    	link against installed Go shared libraries
  -memprofile file
    	write memory profile to file
  -memprofilerate rate
    	set runtime.MemProfileRate to rate
  -msan
    	enable MSan interface
  -n	no-op (deprecated)
  -o file
    	write output to file
  -pluginpath string
    	full path name for plugin
  -pruneweakmap
    	prune weak mapinit refs (default true)
  -r path
    	set the ELF dynamic linker search path to dir1:dir2:...
  -race
    	enable race detector
  -s	disable symbol table
  -strictdups int
    	sanity check duplicate symbol contents during object file reading (1=warn 2=err).
  -tmpdir directory
    	use directory for temporary files
  -v	print link trace
  -w	disable DWARF generation

 

标签:set,string,linker,go,build,file,Go
From: https://www.cnblogs.com/zhangzhihui/p/18141502

相关文章

  • golang etcd键值存储系统
    目录存储配置文件watch命令在Go语言中,etcd是一个高可用的键值存储系统,它主要用于共享配置和服务发现。etcd由CoreOS团队开发,它是Kubernetes项目中用于存储所有集群数据的关键组件。etcd使用Raft协议来保持集群之间的数据一致性,并且提供了强一致性保证https://blog.csdn.net/jo......
  • golang+kafka
    目录1.安装JDK、Zookeeper、Scala、kafka2.启动kafka3.创建topics4.查看topics5.打开一个producer6.打开一个consumer7.测试发送和接收消息Windows下安装Kafka1.安装JDK、Zookeeper、Scala、kafka安装Kafka之前,需要安装JDK、Zookeeper、Scala。Kafka依赖Zookeeper,......
  • 在Go语言中往Kafka中发送数据,通常会使用Sarama库
    目录Sarama简介基本步骤示例代码Sarama简介Sarama是一个用Go语言编写的ApacheKafka客户端库,由Shopify公司最初开发,并在后来被IBM接管维护。Sarama库提供了一套完整的Kafka功能支持,包括生产者(Producer)、消费者(Consumer)以及消费者组(ConsumerGroup)等组件,允许开发者在Go应用程序......
  • Go 单元测试之HTTP请求与API测试
    目录一、httptest1.1前置代码准备1.2介绍1.3基本用法二、gock2.1介绍2.2安装2.3基本使用2.4举个例子2.4.1前置代码2.4.2测试用例一、httptest1.1前置代码准备假设我们的业务逻辑是搭建一个httpserver端,对外提供HTTP服务。用来处理用户登录请求,用户需要输入邮箱,密码。......
  • k8s快速创建MongoDB
    1.创建MongoDBpvc文件如果不需要持久存储可以忽略kind:PersistentVolumeClaimapiVersion:v1metadata:name:mongodb-datanamespace:t1-zdblspec:storageClassName:nfs-client#这里使用的存储类accessModes:-ReadWriteManyresources:reques......
  • CentOS+Django+uWSGI+Celery+Supervisor配置
    目录背景目录安装配置Supervisor1.生成配置文件2.修改配置文件3.创建进程文件创建uwsgi.conf进程文件创建celery进程文件启动supervisor启动supervisor查看所有进程的状态常用命令配置文件详解背景使用Django开发的项目需要部署到CentOS中,项目中使用了Celery和uWSGI......
  • Android Studio修改代码后直接点击run没生效,需要Rebuild或者删除build文件夹后再run才
    AndroidStudio修改代码后直接点击run没生效,需要Rebuild或者删除build文件夹后再run才生效的解决方法第一步:app->editconfigurations进入app配置选中app,滑动到下面的beforelaunch,点击+号,添加一个Gradle-awareMake给Task输入一个名称,或者不填留空使用原理名称,然......
  • Go在Sqlserver中的作用
    Sql_server中的Go标识在写Sql脚本时总是会遇到go标识,也没有个明确的解释。官方解释Go:官方说法是:GO只是SQLServer管理器(SSMS)中用来提交T-SQL语句的一个标志。这几个字我都认识,但是绷组合到一起就感觉说的不是人话。实际的作用一个(段)脚本结束的标识,下面的内容不再与上......
  • docker部署mongodb
    docker部署mongodb拉取镜像dockerpullmongo启动mongo(dockerrun和dockercompose)dockerrun--auth:需要密码才能访问容器服务。-eMONGO_INITDB_ROOT_USERNAME:设置用户名-eMONGO_INITDB_ROOT_PASSWORD:设置密码dockerrun--restart=always--namemongodb-v~/dock......
  • 2024-04-17:用go语言,欢迎各位勇者莅临力扣城,本次的挑战游戏名为「力扣泡泡龙」。 游戏
    2024-04-17:用go语言,欢迎各位勇者莅临力扣城,本次的挑战游戏名为「力扣泡泡龙」。游戏的起点是一颗形状如二叉树的泡泡树,其中每个节点的值代表该泡泡的分值。勇者们有一次机会可以击破一个节点泡泡,但需要满足以下规则:被击破的节点泡泡最多只能有一个子节点泡泡。如果被击破的节点......