英語版VC++ 6.0でコンパイルしたRexpdll  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ver 0.1 2001/07/12 江端智一 E-mail:See http://www.kobore.net/mailAddress.gif http://www.kobore.net/ 訳あって、Windows NT 4.0 で動く正規表現ライブラリが必要となったので すが、見つけられませんでした。 # もし、英語版VC++6.0に標準で提供されていたら、私のいないところで # 「大馬鹿者」呼ばわりして頂いて結構です。 そこで、中島 靖さん、飯塚 豊さんからご提供されております、高速正規表 現「REXP」のDLL版 REXPDLL http://www.vector.co.jp/soft/win31/prog/se013008.html を 英語版VC++6.0でコンパイルして、使わせて頂いております。 コンパイルとビルドを通しただけの、こんなものでも、何かのきっかけで、 誰かの助けになるかもしれないと思い、公開させて頂くことにしました。 なお、REXPDLLに添付されていたRexp.manより Rexp.manより抜粋(ここから)  著作権は特に主張しませんが,改変など行って再配布する場合は,フ ァイル先頭のコメントにその旨を書いてください.また,転載や配布は 許可なしに行ってかまいません.もちろん,自作ソフトウェアに組み込 んで発表されてもかまいません.但し,私はこのソフトウェアによる損 害の責任は一切負いません.  飯塚 豊(DUDE) Internet dude@is.s.u-tokyo.ac.jp MASTERNET AAC544 NIFTY-Serve PFF01344 (ここまで) と言うことでしたので、ファイルの先頭に変更内容の概要を記載させて頂き ました。 一応、現在覚えている限りの変更内容を、以下に記載しておきます。 ------------------------------- (1).c -> .cppファイルにした (2)rexpdll.cは使わずに、rexp.hの関数をそのままエクスポートするようにし た (3)がなかったので、にした。 (4)iskanji(),iskanji2()は、以下のマクロを"rexpdef.h"で定義することで、 逃げた(内容が正しいかどうか、全然自信ありません) #define iskanji(c) ((( 0x81 <= (c)) && ((c) <= 0x9f)) || (( 0xe0 <= (c)) && ((c) <= 0xef))) #define iskanji2(c) ((( 0x40 <= (c)) && ((c) <= 0x7e)) || (( 0x80 <= (c)) && ((c) <= 0xfc))) (5)uchar(unsigned char)の部分でコンパイルが通らないところは、鬼のよう にキャストを埋めこんだ(正しいかどうか、自信ありません)。 ------------------------------- VC++のプロジェクトを丸ごと凍らせてありますので、解凍してお使い下さい。 使いかたは、testExe.cpp を見て下さい。 6行のプログラムがあります。 動作テストは、RexpTest.cppに記載された以上のことは、全くしておりませ ん。 # 私はこの6行だけが必要でしたので。 私も、まだ、このライブラリの使いかたを十分に理解していないので、質問 等にはお応えできません。 予想通り動かなかった場合、その責任は江端にもありますが、あなたにもあ ります。 江端は、何の保証も補償もできませんので、悪しからず御了承ください。