登录
首页 >  Golang >  Go问答

这些 Go 构建标志是什么意思?netgo -extldflags "-lm -lstdc++ -static"'

来源:Golang技术栈

时间:2023-04-24 13:02:38 162浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《这些 Go 构建标志是什么意思?netgo -extldflags "-lm -lstdc++ -static"'》,这篇文章主要会讲到golang等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我目前正在学习微服务在线课程,我将小型 Go 应用程序部署到 docker 容器。用于构建二进制文件的长而丑陋的命令行是这样的:

go build --tags netgo --ldflags '-extldflags "-lm -lstdc++ -static"'

到目前为止,我只是用来go install编译我的 go 应用程序。

谁能向我解释这个命令?

正确答案

--tags netgo 用于使用 go lang 网络栈

--ldflags[设置传递给“go tool link”的标志](https://golang.org/cmd/go/#hdr- Compile_packages_and_dependencies)

args 到 ldflags 的值在go tool 链接帮助中有说明

-extldflags flags
    Set space-separated flags to pass to the external linker.

在这种情况下,外部链接器是“ld”,因此您可以阅读它的手册页
每个参数的含义是:

-lm enables linking of the standard math library
-lstdc++ enables linking of the standard c++ library
-static means do not link against shared libraries

今天带大家了解了golang的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>