Go语言的一个重要特性是它能够生成静态链接二进制文件。然而,当我在$GOPATH/bin
中运行ldd *
时,我发现了一些动态可执行文件。是否有明确的规则来理解在什么情况下go编译器会生成动态链接的二进制文件?
Go语言的一个重要特性是它能够生成静态链接二进制文件。然而,当我在$GOPATH/bin
中运行ldd *
时,我发现了一些动态可执行文件。是否有明确的规则来理解在什么情况下go编译器会生成动态链接的二进制文件?
net
、os/user
或crypto/tls
包中。 - JimBCGO_ENABLED=0
构建也是如此。 - Adrian
libc
,在Windows中的kernel32.dll
等。 - putunet/http
(如Get example)时,生成的二进制文件依赖于pthread
、libc
等... - putu