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