File tree 1 file changed +2
-2
lines changed
1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change 2
2
3
3
Go语言的1.5版本在标准命令方面有了重大变更。这倒不是说它们的用法有多大的变化,而是说它们的底层支持已经大变样了。让我们先来对比一下` $GOROOT/pkg/tool/<平台相关目录> ` 中的内容。以下简称此目录为Go工具目录。
4
4
5
- ** 插播:** 平台相关目录即以<GOOS >_ <GOARCH >命名的目录,用于存放因特定平台的不同而不同的代码包归档文件或可执行文件。其中,<GOOS >代表特定平台的操作系统代号,而<GOARCH >则代表特定平台的计算架构代号。使用` go env ` 命令便可查看它们在你的计算机中的实际值。
5
+ ** 插播:** 平台相关目录即以 ` <GOOS>_<GOARCH> ` 命名的目录,用于存放因特定平台的不同而不同的代码包归档文件或可执行文件。其中,` <GOOS> ` 代表特定平台的操作系统代号,而 ` <GOARCH> ` 则代表特定平台的计算架构代号。使用 ` go env ` 命令便可查看它们在你的计算机中的实际值。
6
6
7
7
1.4版本的Go工具目录的内容如下:
8
8
@@ -19,7 +19,7 @@ addr2line asm compile dist fix nm pack tour
19
19
api cgo cover doc link objdump pprof trace yacc
20
20
```
21
21
22
- 可以看到,1.5版本的目录内容精简了不少。这是因为Go 1.5的编译器、链接器都已经完全用Go语言重写了。而在这之前,它们都是用C语言写的,因此不得不为每类平台编写不同的程序并生成不同的文件。例如,8g、6g和5g分别是gc编译器在x86(32bit)、x86-64(64bit)和ARM计算架构的计算机上的实现程序。相比之下,用Go语言实现的好处就是,编译器和链接器都将是跨平台的了。简要来说,Go 1.5版本的目录中的文件compile即是统一后的编译器,而文件link则是统一后的链接器 。
22
+ 可以看到,1.5版本的目录内容精简了不少。这是因为Go 1.5的编译器、链接器都已经完全用Go语言重写了。而在这之前,它们都是用C语言写的,因此不得不为每类平台编写不同的程序并生成不同的文件。例如,8g、6g和5g分别是gc编译器在x86(32bit)、x86-64(64bit)和ARM计算架构的计算机上的实现程序。相比之下,用Go语言实现的好处就是,编译器和链接器都将是跨平台的了。简要来说,Go 1.5版本的目录中的文件 compile 即是统一后的编译器,而文件 link 则是统一后的链接器 。
23
23
24
24
本教程并不会讲解Go语言的编译器、链接器以及其它工具是怎样被编写出来的,并只会关注于怎样用好包含它们在内的Go语言自带的命令和工具。
25
25
You can’t perform that action at this time.
0 commit comments