No symbol table is loaded. Use the"file"command. 不使用-ldflags gobuild ./hello.go 运行打印看见文件名、行号。 使用LiteIDE查看二进制文件可以搜索到MyCat标识符。 上述都与使用 -ldflags 参数得到的结果相同。 使用gdb调试可列出源代码,也可打断点单步调试。 (gdb) l main.main5typeMyCatstruct{6namest...
golang编译go build -ldflags "-s -w"的 解释 go build -ldflags "-s -w"是一个 Go 语言的构建命令,其中使用了-ldflags参数来传递一些额外的链接器标志。 这个命令中,-ldflags "-s -w"传递了两个标志: -s:该标志会禁止生成可执行文件中的符号表信息,这样在执行文件时就不会暴露源代码中的函数名、变量...
mkdir -p bin/ && VERSION=$(git describe --tags --always) && go build -ldflags "-X main.Version=$(VERSION)" -o ./bin/ ./... 这种多条命令,使用&&符号拼接起来,不易于维护,通常我们将它写在shell脚本里或者Makefile中,这不是我们本文讨论重点,下面以Makefile为例 VERSION=$(shell git describe ...
return r.BuildDateTime + "-" + r.BuildGitCommit } func (m PkgVersion) PrintlnVersion() { fmt.Printf("%15s: %s \n", "BuildTime", BuildDateTime) fmt.Printf("%15s: %s \n", "BuildGitBranch", BuildGitBranch) fmt.Printf("%15s: %s \n", "BuildGitCommit", BuildGitCommit) fmt.Pr...
51CTO博客已为您找到关于go build -ldflags的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及go build -ldflags问答内容。更多go build -ldflags相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
ldflags 代表链接器标志,用于将标志传递给底层链接器。根据文档:
在支持动态链接的系统上,这会覆盖 -pie 并阻止与共享库的链接。在其他系统上,此选项无效。
使用go build 进行条件编译 转
grafana的版本号是放到前端package.json文件里的,相当于前端和后台只有一个地方维护版本号,后台在编译时,通过go build -ldflags -X 注入版本号信息 代码语言:javascript 复制 go build-ldflags"-w -X main.version=8.1.3 -X main.commit=unknown-dev -X main.buildstamp=1631418042 -X main.buildBranch=main"-...
此外,还有一个特殊的-ldflags="-help"选项,它可以打印所有可能的golang链接器选项: