登录
首页 >  Golang >  Go问答

两个目录之间的关联是什么?

来源:stackoverflow

时间:2024-02-28 09:39:26 345浏览 收藏

哈喽!今天心血来潮给大家带来了《两个目录之间的关联是什么?》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

如果我安装 Go 的发行版软件包,我会在 /usr/lib/golang/pkg 中看到很多文件,并在 /usr/lib/golang/src 中看到一组非常相似的文件。这两组之间有什么关系?

pkg是由src中的源代码生成的编译库吗?

假设Go程序使用fmt这样的标准包,那么运行Go程序是否需要pkg中的编译库?需要编译Go程序吗?编译Go程序需要src中的源码吗?


解决方案


源代码

此目录包含组织为包的源文件。

包装

该目录包含从 src 目录下的 Go 源代码包编译而来的 Go 包对象。如果包不包含带有 main 包声明的文件,则 Go 在 pkg 目录中创建包存档 (.a) 文件。 Package 对象在链接时使用,在 bin 目录中创建完整的 Go 可执行二进制文件。

因此,一旦我们编译了一个包,我们就可以在许多可执行文件中链接该对象。喜欢, fmtpkg中编译好的库,所以不需要再次编译。我们可以链接该对象来运行所有 Go 程序。

本篇关于《两个目录之间的关联是什么?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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