Go 使用不带-linkshared的二进制生成时不打印的二进制地址

Go 使用不带-linkshared的二进制生成时不打印的二进制地址,go,runtime,shared-libraries,Go,Runtime,Shared Libraries,当我们在Go中使用-linkshared标志构建二进制文件时,将加载二进制文件的地址,如果我们在symtab.Go的modulesinit()函数中添加日志,我们将获得两个地址,一个用于库,另一个用于二进制文件 但是,对于没有-linkshared符号的二进制文件,只打印二进制文件的地址 对于上述两种情况,库是相同的,它是使用-buildmode=plugin构建的 原因是什么?有没有什么方法可以让它工作而不必使用-linkshared构建二进制文件

当我们在Go中使用
-linkshared
标志构建二进制文件时,将加载二进制文件的地址,如果我们在
symtab.Go
modulesinit()函数中添加日志,我们将获得两个地址,一个用于库,另一个用于二进制文件

但是,对于没有
-linkshared
符号的二进制文件,只打印二进制文件的地址

对于上述两种情况,库是相同的,它是使用
-buildmode=plugin
构建的

原因是什么?有没有什么方法可以让它工作而不必使用
-linkshared
构建二进制文件