Gauche
よく分かんないなあ。はじめから順に追っていこう……。やっぱCPU演習のコンパイラレジュメが頭に入るぐらいの知識が必要なんだろう。
というイメージ。僕の中でコンピュータの専門家/プロのプログラマ == "構文解析なんて手書きに決まってる!趣味でOSとかコンパイラとか作ります。"以前 Gauche のコンパイラとか面白いよ、と Lingr で言われたのですが、見てみても全然分かんなかったんです…
またまた SDL です。インタラクティブシェルで、ぽちぽちウインドウを出したりしたい場合、run_sdl_main に渡す手続きを定義せずに、継続を渡すと、シェルに復帰させられます。継続の実用的な例?他にどういう場面で使えるのかちょっと想像できないですが、 …
わかんねー。そもそも何から追っていけば良いのか分からない。とりあえず早く教授に言われた作業をこなしてから、これに取りかかるぞ!と宣言しておく。宣言することをやり遂げることの重要性を体で覚えなければガキでなくなることは出来ないだろう……。大き…
多分これで、Gauche + c-wrapper + SDL で作ったゲーム(そんなのあるのか知りませんが)を Mac OS X で動かしたい人(これもそんな人他に居るのか知りませんが)のニーズが満たせると思います。とりあえずウインドウが出たのでちゃんと動くと思います。誰か検証…
Mac OS X でウインドウを出すアプリケーション(GUIアプリケーション)を作るためには、イベントループ内で処理を行う必要があるため(ほんとか?あやしい。Windowsでも同じじゃないの?)、GUI のイベントループに入らない、いわゆる普通のコマンドラインアプリ…
出たようです。cwcompile スゲー!サンプルムービーの真似をして、(c-load "Cocoa/Cocoa.h" ...)をやってみたら、メチャクチャスワップしまくって時間がかかったので、メモリ欲しいなあと思いました。(c-load "SDL/SDL.h" ...) しても、案の定エラーが出て動…
でも taglib を使ったら読めた。とりあえず taglib に乗り換えよう。どっちのライブラリでも v2.4 にすると読読めない。 (use gauche.uvector) (use gauche.charconv) (use c-wrapper) (c-load-library "libtag") (c-load-library "libtag_c") (c-include "t…
かえる三十郎 - Rubyでmp3のタグをいじるには3の内容を Gauche に移植してみました。 (use gauche.uvector) (use c-wrapper) (define (main args) (c-load-library "libid3") (c-include "id3.h") (let* ((tag (ID3Tag_New)) (#f (ID3Tag_Link tag "test.mp3…
のをどうするか?と言う問題にぶち当たった……具体的に言うと、id3libの、ID3_Frame クラスなんですが、これは基本的には ID3_Tag 内部でメモリの生存が管理されているので、 ID3_Tag のメソッドで ID3_Frame を取り出した後に、その ID3_Frame を ID3_Tag か…
じゃあもう c-wrapper でいいんでは?
まず、なんだかよくわからなかったこれ /* Register this DSO to Gauche */ SCM_INIT_EXTENSION(id3lib); は、拡張モジュールを読み込んだ、と言う情報を登録する手続きだろう。多分。新しい型を定義する必要がある奴はとりあえずコメントとして関数名を並べ…
差し当たって、新しいクラスを定義しない範囲で、メソッドを Scheme 側に定義していこうと思います。出発点 ;;; ;;; id3liblib.stub ;;; " #include \"id3lib_glue.h\" " ;; これは多分、stub中でオートボクシングのために使われる定義 ;; 実際の定義は、id3…
なんかいろいろ間違ってたので修正しました。とりあえず、 (use media.id3lib) が成功した。おめー!でも何も出来ない。何故だろう…… === Makefile.in ================================================================== --- Makefile.in (revision 1214)…