如果您正在谈论Go编译器提供的可执行文件,那么答案是“是或否-取决于”:
在大多数情况下,生成的可执行程序并 不能 依赖于C运行时库。
但是,在某些情况下,某些平台上会 动态
链接C运行时库。特别是在使用DNS解析的情况下,Linux上Go版本<1.5就是这种情况:运行时取决于平台的
libc实现来处理这种解析。
在1.5中已对此进行了重做。
另一个可能的情况是(IIRC)Solaris,它没有提供直接访问内核的syscall的稳定方法,并且需要通过平台的路由这些调用
libc。
还有另一种情况:使用
cgo它是将Go代码与外部C代码接口的层。使用
cgo使您的Go程序依赖于C运行时。请注意,您可能不会
cgo直接使用,但是您正在使用的一个或多个第三方程序包可以使用
cgo,并且(根据需要)您的程序最终取决于C运行时库。



