忍者ブログ
natsuの秘密基地です
はまり
はまり一件ごとのお話の流れです
カレンダー
03 2020/04 05
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
プロフィール
HN:
natsu
性別:
男性
趣味:
酒など
自己紹介:
ここに書かれていることはフィクションです。
ブログ内検索
アクセス解析
[21] [20] [19] [18] [17] [16] [15] [14] [12] [11] [10
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

OgreKitっていうものがあるみたいですね。
鬼車をラッピングしてMac向けの機能を追加しているようだ。


私はよく見ていないからわからないけど、
だいたいこういうものは一般的にいって、使いやすいんだと思う。
 
だから、今作っているアプリで正規表現検索を使いたいなら、
これを使えばいいんだとおもった。
 
 
 
だが、しかし、それより私が興味あるのはdlopen。
 
 
ウィンドウズ環境で、
C言語の寄せ集めでDLLを作ったとして、
DLLをロードしてその関数へのポインタを取得するAPIがあったような。
そんな気がするんです。
 
覚えてないですけど。
 
こんなんでオブジェクトを作成して関数で返したり、
できたんだかできなかったんだか覚えてないですけど。
 
 
インポートライブラリ?なんすかそれ。
 
 
っていう勢いなわけです。
 
 
 
ライブラリの中に関数やら構造体のインスタンスやらの、
シンボルが潜んでいるんでそれをロードして使えばいいわけです。
こんなかんじ?
 
 
 
 
解凍されたディレクトリに、
libonig.2.dylib
libonig.a
oniguruma.h
を仕込んでみてください。
ビルド完了時のシェルがちゃんと動けばいいんだけど。
 
パッケージの中にFrameworksディレクトリを作って、
ライブラリを送り込みたかったんで。
 
 
Xcodeでターゲットでファイルをコピー、かなんかでやりたかったけど、
プロジェクトにライブラリを含めなきゃならないみたいなので。
 
libonig.aは多分必要ないんです。
ただ、なんやかんややってるときに、
フレームワークとしてlibonig.2.dylibをプロジェクトに含めて、
ターゲット、ファイルをコピー、の項目にこれを入れておいたら、
libonig.aも勝手にコピーされてたので。
 
でも、自分が使う限り、libonig.aはいらなかった。動いたし。
 
あと、メモリーリークががんがんにおこるのも気にしないでね。
そこはまあ、自分的にどうでもよかったというか。
 
 
 
自分に対して2行ぐらいだから書けといいたい。
 
 
 
んで、ヘッダで定義されているdefineとかが使えないんですが、
まあ、適宜に宣言するということで。
 
注意したいのはOnigurumaのサンプルと違って、
OnigDefaultSyntaxではなくOnigSyntaxRuby
を使っていること。
 
OnigSyntaxRubyのシンボルをロードすると、
構造体インスタンスのハンドルがかえるんですけど、
OnigDefaultSyntaxのシンボルをロードすると、
構造体インスタンスのポインタのハンドルがかえる。
 
型がそこはかとなく違ってしまうわけなんですねぇ。
なので、OnigDefaultSyntaxを使いたい場合は、
 
void **p_OnigDefaultSyntax    = dlsym(p, "OnigDefaultSyntax");
 
r = (*p_onig_new)(&reg, pattern, pattern + strlen((char* )pattern),
ONIG_OPTION_DEFAULT, p_OnigEncodingASCII, *p_OnigDefaultSyntax, &einfo);
 
としなきゃなんないだろうなと、思ったり思わなかったり。
OnigSyntaxRubyでいいんじゃないでしょうか。
結局OnigDefaultSyntaxは&OnigSyntaxRubyだし。
 
 
そうね。私だったら、
OnigSyntaxPerlですわ。
 


うん。もちろん。ここではまり倒したよ。

 



 
で、実は正規表現について詳しくない。ってのは内緒ね。
 
 
PR
この記事にコメントする
NAME:
TITLE:
color:
MAIL:
URL:
COMMENT:
PASS: Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:


Copyright (C) 2010 NEST,
All right Resieved.*Powered by ニンジャブログ *Designed by にこるん  / 忍者ブログ / [PR]