go语言编译文件大 go编译命令( 二 )


Additional help topics:
gopathGOPATH environment variable
packagesdescription of package lists
remoteremote import path syntax
testflagdescription of testing flags
testfuncdescription of testing functions
Use "go help [topic]" for more information about that topic.
5、编译helloworld测试程序,go语言包中test目录带有helloworld.go测试程序,源码见"附一 helloworld.go",
直接调用"go build helloworld.go"就生成了"helloworld.exe"可执行程序 , 运行一下这个程序看到了我们期望的hello,wolrd 。
E:\opensource\go\go\testgo build helloworld.go
E:\opensource\go\go\testhelloworld.exe
hello, world
E:\opensource\go\go\test
附一 helloworld.go
// cmpout
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Test that we can do page 1 of the C book.
package main
func main() {
print("hello, world\n")
}
go语言是什么Go语言是一种开源的编程语言,被广泛应用于网络编程、云计算、分布式系统等领域 。
go语言的三位作者
Go语言的设计目标是成为一种语法简洁、执行效率高、并发性能强大的编程语言 。它由Google公司研发,于2009年首次发布,并于2012年成为了开源项目 。Go语言具有C语言的表达能力和Python的开发效率 , 同时还拥有自己独特的语法和特性,如协程、垃圾回收机制等 。因此,它被广泛应用于网络编程、云计算、分布式系统等领域,并且越来越受到开发者的青睐 。
Go语言的出现,填补了许多编程语言在并发编程方面的空缺 。它提供了一种轻量级线程模型,通过协程(goroutine)的方式,实现了高效的并发编程 。同时,Go语言还支持内置的网络编程和字节序列编解码库,使得网络编程变得更加容易和高效 。在云计算、分布式系统等领域 , Go语言也得到了广泛的应用 。例如,Docker和Kubernetes等开源项目就是用Go语言开发的 。此外,Go语言还具有代码可读性高、编译速度快、编译后的可执行文件体积小等优点,使得它成为了开发高性能、高并发应用的理想语言之一 。
Golang 的静态编译Go 语言和 C 语言的一个很大的区别是,Go 语言只静态编译 , 做个测试:
一方面是 Go 语言编译后的可执行文件大小比 C 语言的大很多,
另一方面是 C 语言的可执行文件需要依赖 glibc 动态库,
用 ldd 命令可以看出来:
或者直接删除 glibc 动态库, C 可执行程序报错,而 Go 的还能运行:
这时候只有内部命令可以运行 , 外部命令,包括ln甚至最常用的ls命令也不能运行了:
设置好LD_PRELOAD环境变量之后, ln 命令可以运行,但是sudo仍然不能运行
只能靠root用户来重新创建软连接了:
所以用 sudo 来 rm 文件要小心,还是用root比较好 。如果没有预先留一个打开的root终端,登录都登不进去 。
【go语言编译文件大 go编译命令】go语言编译文件大的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go编译命令、go语言编译文件大的信息别忘了在本站进行查找喔 。

推荐阅读