« Pocket PC 2003 SE(VGA)用のToday SKin作成用ツール - UKTskBuilder 1.0.0.0 | トップページ | 特撮を楽しむ »

2004.11.08

Oniguruma

Onigurumaを使ってみた。
Rubyに使われるものらしい。

さて,どうだろう???
とりあえず,CEでも使えないと話にならないので,eVCで試してみる。

その前に,いらないエンコーディングやら,色々ついているんで,どれだけ小さくできるか試してみると,次のソースがあれば大丈夫みたい。

  • regcomp.c
  • regenc.c
  • regerror.c
  • regexec.c
  • regparse.c
  • regversion.c
  • enc/ascii.c
  • enc/sjis.c

これは,Makefile内で↓みたいにしてあげれば,そうなる。

encobjs = $(encdir)\ascii.obj $(encdir)\sjis.obj
libobjs = regcomp.obj regexec.obj regparse.obj regenc.obj regerror.obj regversion.obj

ただし,↓みたいにサイズはち~っとも変わらない。

ファイルorgmin
onig.dll18022413516875%
onig_s.lib35543821494460%
testc.exe155648155648100%

けど,eVCに設定するのが面倒なんで,eVCには,こいつらを入れる。


やってみると<sys/types.h>がないんで,うまく通らない。
という訳で,sys/types.hをでっち上げる……で,大丈夫。
テスト用に,

ところで,onig_error_code_to_strが通らない……
onigruma.hで,PV_が定義されているんだけど,HAVE_STDARG_PROTOTYPESを定義しないとダメらしい……
毎回HAVE_STDARG_PROTOTYPESを宣言して使うのも面倒だ。
_WIN32では大丈夫なんで,
#if defined(HAVE_STDARG_PROTOTYPES) || defined(_WIN32)
してあげた。

あと,extern "C" { }でくくるのも,面倒なんで,onigruma.hに入れてお終い。

さて,コンパイルは通ったけど,onig_searchで全然一致しない……
って,*とか+を使わないと平気だけど……<って意味ないじゃんっ……
エミュレータ上では動作するんだけど……。
どっかスタック壊しているのかも……
今日は,遅いんでここまで。

|

« Pocket PC 2003 SE(VGA)用のToday SKin作成用ツール - UKTskBuilder 1.0.0.0 | トップページ | 特撮を楽しむ »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/3881/1904604

この記事へのトラックバック一覧です: Oniguruma:

« Pocket PC 2003 SE(VGA)用のToday SKin作成用ツール - UKTskBuilder 1.0.0.0 | トップページ | 特撮を楽しむ »