ARM5環境向けプログラムにGolangを使ってみた

1. Goをインストール

`--with-cc-all`をつけると全てのコンパイラが入るらしい。

$ brew install go --with-cc-all

2. 環境変数を設定する

.zshrcとかに入れとく。

export GOROOT=/usr/local/opt/go/libexec
export GOPATH="$HOME/go"
export PATH="$GOROOT/bin:$GOPATH/bin:$PATH"


3. コンパイラを設定する

Goの不具合かもしれないが、ARM5を指定しているのに、なぜか、ARM6でコンパイルされてしまうので。

$ cd $GOPATH/src
$ GOOS=linux GOARCH=arm GOARM=5 make.bash

4. コーディング

$ touch hello.go
$ vi hello.go

とりあえず、hello, worldしましょうか。

package main

import "fmt"

func main() {
	fmt.Println("Hello, world")
}

JetBrainは、goのpluginあるけど、デバッガが動かなかった。

5. 実行する

$ go run hello.go

6. 実行形式を生成する

GOOS、GOARCH、GOARMは、今回、実行環境であるARM5を指定します。
GOBINは、生成された実行形式が出力される場所です。

$ GOOS=linux GOARCH=arm GOARM=5 GOBIN=./ go install