登录
首页 >  Golang >  Go问答

使用 Go 标准库构建二进制文件是否可行?

来源:stackoverflow

时间:2024-02-08 17:54:23 121浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《使用 Go 标准库构建二进制文件是否可行?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

研究了源代码后,我认为这是不可能的,但是可以使用以下内容构建 go 二进制文件:

import "package/from/stdlib"

func main() {
    ...
    stdlib.BuildBinary(path)
    ...
}

https://github.com/golang/go/blob/master/src/cmd/go/main.go https://github.com/golang/go/blob/master/src/cmd/go/internal/work/build.go

(我正在尝试简化 ci 管道中的构建阶段)


正确答案


不,标准库不包含编译器的(源)代码。编译器的源代码可以在这里找到:https://github.com/golang/go/tree/release-branch.go1.20/src/cmd/compile

但是如果您有标准库,那么它应该是 Go 安装的一部分,其中包含 Go 工具,为您提供交叉编译支持。简而言之:您所需要的只是(官方)Go 安装。如果要将源代码编译为可执行二进制文件,请调用 go 工具作为外部命令。

但请注意,即使标准库不包含编译器和链接器的代码,您也可以使用标准库来解析 Go 源代码。请参阅 go/astgo/parser 包。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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