タグ

golangに関するrskyのブックマーク (5)

  • ゲームボーイエミュレータをGo言語で書いた - undefined

    概要 Goはこれまで量を書いたことがなかったので入門にゲームボーイエミュレータを書いてみることにした。ゲームボーイである理由はたまたまよくできたゲームボーイの資料(http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf)を見つけてしまったため。 成果物 github.com まだ基的なカートリッジタイプしか実装できていないがそこそこ動き始めたので公開することにした。直近は対応カートリッジを増やしながらWebAssemblyを吐けるようにしたい。 ゲームボーイの基仕様 項目 概要 CPU LR35902 4.19MHz 8bit RAM 8kB VRAM 8KB ROM 256k~32MBit Display 4階調モノクロ、160×144ドット スプライト 8×8 最大40個表示 / 1ライン上に 最大10個表示 背景 256×256ドット ウィン

    ゲームボーイエミュレータをGo言語で書いた - undefined
  • GoでPHP拡張モジュールを書いた話 - hnwの日記

    12/6のGo Conference 2015 WinterでGoPHP拡張モジュールを書いたよ、という内容のLTをしてきました。 ざっくり言うと、Goって言ってもCのレベルに落ちてくれば連携なんて簡単でしょって思ってたけど、GoPHP拡張もビルドプロセスが隠蔽されてるので、落としどころが見つからなくて苦労したよって話でした。もっと綺麗に連携できる方法を編み出した方は教えてください。 PHP拡張モジュール側のビルドについて補足 拡張モジュールを共有ライブラリじゃなく静的ライブラリとして作ればいいじゃん、って発想で作り始めましたが、実は拡張モジュールを静的ライブラリとして作るのは結構ダルいという事情があります。というのも、拡張モジュールをphpizeするとconfigureオプションで何を指定しても静的ライブラリが作られないようにm4マクロが展開されてしまうのです。 そこで、できあがった

    GoでPHP拡張モジュールを書いた話 - hnwの日記
  • Go言語でag(The Silver Searcher)ライクな高速検索ツールをつくった。EUC-JP/Shift-JISも検索できマス。

    いまや高速パターン検索といえばag(The Silver Searcher)ですが、検索対象がUTF-8のテキストを前提としているため、EUC-JPやShift-JISといったファイルを検索するのに課題があります。 これまで、それらの日語文字セットを検索できるようにするため、色々とagの改造、公開を行っていました。 ag(The Silver Searcher)でEUC-JP/Shift-JISのファイルも検索できるようにしてみた 日語圏特化型ag -白金- の配備が完了しました しかし、特定の国の文字コードだけに特化した修正というのをmasterに取り込んでもらうわけにもいかず、派生ブランチとして追随するのも、やはり面倒… そこで年始にGo言語を触ったのをきっかけに、Go言語でパターン検索ツールをつくってみました。 せっかくなのでポストagを目指して、プラチナサーチャー(The Pl

    Go言語でag(The Silver Searcher)ライクな高速検索ツールをつくった。EUC-JP/Shift-JISも検索できマス。
  • Go言語でクロスコンパイルする - memoメモ

    これを試したときのバージョン: go version go1.0.1 実行環境:Mac OS X Lion 下準備 Goはソースからコンパイルしておきます。これを参考に:http://golang.org/doc/install/source $ hg clone -u release https://code.google.com/p/go $ cd go/src $ ./all.bashとしてインストールしておきます。 まずは、以下の hello.go を普通にコンパイルしてみます: package main import "fmt" func main() { fmt.Println("Hello, 世界") } を $ go build hello.go $ file helloとすると hello: Mach-O 64-bit executable x86_64となってますね。M

    Go言語でクロスコンパイルする - memoメモ
    rsky
    rsky 2013/03/22
    goは$GOOSと$GOARCHだけでクロスコンパイルできるのか。ステキ
  • gitでバイナリファイルを気軽に扱えるフィルターを作りました : DSAS開発者の部屋

    ネイティブアプリの開発とかしてると、ついつい git にスプライトの png とか一緒にコミットしてしまって、気づいたらリポジトリサイズが 1GB 超えてたとかありますよね。 git annex とか、格的なアセット管理システムとか使えば良いんだけど、普通のgitコマンド覚えるだけでいっぱいいっぱいな人にさらに他のツールまで覚えてもらうのは大変です。 そこで、登録しておいた拡張子のファイルはハッシュ値だけをリポジトリに格納し、ファイルの内容は別のディレクトリやAmazon S3に格納する git-largefile/gits3 を作りました。 git-largefile/gits3 は git の filter として動きます。 filter は通常改行コードの変換をしたり $Id$ のようなキーワードを変換したり行末のスペースを消す、文字通りフィルターなのですが、ここでファイル体から

    gitでバイナリファイルを気軽に扱えるフィルターを作りました : DSAS開発者の部屋
  • 1