Golang中如何找到GCCGo编译器

Golang中如何找到GCCGo编译器 有人知道如何下载 GCCGO(GCC Go 编译器)吗?

7 回复

GCCGo 实际上是一个官方的 Go 编译器,只是没有得到足够的关注 :(。

更多关于Golang中如何找到GCCGo编译器的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


是的,据我所知,只有官方的 Go 编译器支持该语言的最新版本和所有功能。

你尝试过阅读这里吗?

感谢,它不支持 Go 1.21 或泛型 :frowning:

在官方博客Gccgo in GCC 4.7.1中,提到Go团队已经编写了两个不同的编译器来实现该规范:gc和gccgo。

嗯,这取决于您所说的“官方”Go编译器具体指什么。

GCCGo 是一个编译器(实际上是 GCC 编译器的一个 Go 前端),它遵循 Go 语言规范;它由 GNU 社区实现和维护。

我不认为 Go 团队参与了与之相关的任何工作;这就是为什么我不认为它是一个“官方”产品。但也许我错了。

在Golang中,GCCGo是GCC编译器套件的一部分,可以通过以下方式获取:

  1. 通过包管理器安装(推荐):
# Ubuntu/Debian
sudo apt-get install gccgo-go

# Fedora/RHEL
sudo dnf install gccgo

# macOS (Homebrew)
brew install gcc
  1. 从源码编译安装
# 下载GCC源码
git clone https://gcc.gnu.org/git/gcc.git
cd gcc
./contrib/download_prerequisites
mkdir build && cd build
../configure --enable-languages=go --prefix=/usr/local/gccgo
make -j$(nproc)
sudo make install
  1. 验证安装
// test_gccgo.go
package main

import "fmt"

func main() {
    fmt.Println("GCCGo version:")
}

编译命令:

gccgo -o test test_gccgo.go
./test
  1. 使用GCCGo编译Go程序
# 基本编译
gccgo -g -O2 -o program main.go

# 指定标准库路径
gccgo -I /usr/local/share/gccgo/pkg -o program main.go

注意:GCCGo的语法与标准Go编译器(gc)略有差异,某些特性可能不完全兼容。

回到顶部