在GO标准库中,我的Go安装下有源文件:
C:\Go\src\pkg
Run Code Online (Sandbox Code Playgroud)
源文件夹下的包对应于此处的.a文件:
C:\Go\pkg\windows_amd64
Run Code Online (Sandbox Code Playgroud)
什么是.a文件?它们用于什么以及它们是如何产生的.我注意到,当我这样做时,它们会自动生成go get libraryhostedingithub.
jim*_*imt 26
它们是编译包.这是您在编写时引用的文件import foo/bar.它是指$GOROOT/pkg/$GOOS_$GOARCH/foo/bar.a而非$GOROOT/src/foo/bar/*.go.
这些文件包含已编译的包二进制代码,以及调试符号和源信息.
正如 @peterSO 所说,“Go.a包对象归档文件是由go tool pack命令创建的:Command pack。”。
然而,更清楚的是,您可以复制这些文件并将扩展名重命名为,并.tar.gz在类似程序7zip或中的tar -xvf命令中将它们作为常规压缩的 tar 映像打开Linux,或者您可以使用go tool pack实际上相同的命令。
在里面您将看到编译的目标文件“.o”,其中包含体系结构编译的代码和调试符号,以及包含包元数据的包定义文件(__.PKGDEF)。
| 归档时间: |
|
| 查看次数: |
5506 次 |
| 最近记录: |