4.4. 编译

Go是一个编译型的语言。目前有两种编译器,其中"Gccgo"采用GCC作为编译后端。另外还有 根据处理器架构命名的编译器:针对64位x86结构为"6g",针对32位x86结构的为"8g"等等。 这些go专用的编译器编译很快,但是产生的目标代码效率比gccgo稍差一点。目前(2009年底), go专用的编译器的运行时系统比"gccgo"要相对健壮一点。

下面看看如何编译并运行程序。先是用针对64位x86结构处理器的“6g”:

  $ 6g helloworld.go  # 编译; 输出 helloworld.6
  $ 6l helloworld.6   # 链接; 输出 6.out
  $ 6.out
  Hello, world; or Καλημ?ρα κ?σμε; or こんにちは 世界
  $

如果是用gccgo编译,方法和传统的gcc编译方法类似:

  $ gccgo helloworld.go
  $ a.out
  Hello, world; or Καλημ?ρα κ?σμε; or こんにちは 世界
  $