2009/11/24

Recent entries from same category

  1. Go 言語プログラミングエッセンスという本を書きました。
  2. errors.Join が入った。
  3. unsafe.StringData、unsafe.String、unsafe.SliceData が入った。
  4. Re: Go言語で画像ファイルか確認してみる
  5. net/url に JoinPath が入った。

最初Goがリリースされた時には、自分がPortingするんだーとか意気込んでましたが、google codeにホスティングされている方のほうが良い物作ってくれそうだったので、ずっと見守ってました。
hectorchu-go-windows - Project Hosting on Google Code

go for Windows

http://code.google.com/r/hectorchu-go-windows/
Windows PEのリンカも入って、適当な物ならばコンパイル&リンク出来る様になってます。
ただ一般的なWindows Portingの問題として、POSIXなAPIであるpipeやfork、ソケットディスクリプタ等といったWindowsで完全に模倣出来ない部分が残っています。例えばhttpクライアントを扱うhttpパッケージは、netパッケージに依存し、かつ内部ではos.Fdを使う為にそのままのコードではWindowsで実行出来ません。さらにgodoc等ファイルおよび外部プログラムを扱う様な物は内部でos.Pipe()、os.Fork()が呼ばれており、こちらもWindowsなAPIで置き換えなければなりません。
現在の所、src/pkg/osとは別にsrc/pkg/windows/osというフォルダで、Win32 APIを使ってosパッケージを模倣され様としています。移植という点ではこれからになりますね。Issue Trackerが開かれていないのでバグ報告出来ないですが、もし気になる事があればメーリングリストに投げようかなと思っています。

ちなみに、スレッドまわりの実装は既に入っているのでgoroutineは動きます。
ぜひ遊んでみましょう!
Posted at by | Edit