1 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 09:10:30 ] エスケープシーケンスやWin32APIなどの環境依存な物でもOK。 ただしその場合、質問者は必ず、環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.39【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1182740506/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
684 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:08:12 ] お前別スレで質問してきちんとした回答貰ってるだろうが 礼儀知らずにも程がある
685 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:10:30 ] ええ〜、してないですYo!
686 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:13:33 ] 死ね
687 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:19:25 ] 一方的に決めつけられて、死ねといわれる始末。 なんという仕打ち。
688 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:19:49 ] 「切れる」っていうのが、なんかアクロバティックな用法だなあ。 こう、「アタシは侍ザマス!」みたいな? 「void*型からunsigned long(*)(bstr_t const&, IDispatch**)型に斬ってしんぜるナリ!」みたいな?
689 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:22:55 ] >>683 言葉の使い方は他人に通じるように
690 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:23:44 ] >>673-674 今はdecltypeという名称になっている。
691 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:26:33 ] >>687 同じ文体なんだから別人なら普通変えるだろ。バカかよ
692 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:27:25 ] 不毛
693 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:31:11 ] ><;
694 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:35:58 ] >>684 そのスレどこ?
695 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 17:58:27 ] >>692 C++スレだけに
696 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 18:08:50 ] >>694 pc11.2ch.net/test/read.cgi/tech/1184717430/653-654 >>695 誰がうまいこと言えと(ry
697 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 18:25:13 ] >>684 別スレじゃなくてこのスレかよ >>685 お前の言葉は本当だったな
698 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 19:16:35 ] 構造体のサイズをsizeofで取るとなんか不思議な結果が返ってくる。 struct TEST { char chr[3]; }; printf("%d\n", sizeof(TEST)); 結果:3 struct TEST2 { long lng; char chr[3]; }; printf("%d\n", sizeof(TEST2)); 結果:8 TESTとTEST2で明らかに計算方法が違うのはなぜなんでしょうか?
699 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 19:23:41 ] 「パティング 構造体」でググると幸せになれるよ
700 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 19:26:02 ] パディングじゃね?
701 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 19:28:07 ] そして、なぜパディングが入るかというと、境界調整のため。
702 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 19:42:41 ] >>699-701 www.g-ishihara.com/c_st_01.htm を見て納得しました! ありがとうございます。
703 名前:デフォルトの名無しさん [2007/08/02(木) 19:50:02 ] すいません、おじゃまします。 コンストラクター、デストラクターからstaticのメンバー変数にアクセするにはどのように記述したらよいでしょうか。
704 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 20:01:11 ] >>703 普通に。
705 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 20:49:03 ] >>704 解答としては不適切。
706 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 20:57:27 ] >>703 不適切。
707 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:00:09 ] >>705 それ以外に答えようが
708 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:00:16 ] 静的メンバからのアクセスは制限あるけど 逆は問題ないよね?
709 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:17:00 ] うん
710 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:23:30 ] fstreamが遅いんですが何とかなりませんか。 wfstreamともなるとアホみたいに遅いです。
711 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:25:32 ] 端末変えろ
712 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:27:53 ] fstream捨てたら。
713 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:44:25 ] >>711 端末を変えるとfstreamが速くなるのですか? >>712 機能的にはstdioより好ましいですし標準ですから、出来れば使いたいのですが。 wfstreamとgetline()を使って書かれた単にコピーするだけのC++プログラムが、 perlだのpythonだので書かれた、正規表現を用いてちょっと文字列を置換する スクリプトよりも遅いので、呆れます(後者でもちゃんとエンコード変換を 行っているのにです)
714 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:54:44 ] >>713 アタリマエだろ。 単にコピーするだけにgetlineを使うお前が悪い。
715 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:55:41 ] 単にコピーするなら read して write だろう・・・。
716 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:58:47 ] その処理にgetlineを使おうとする発想にまず驚いた
717 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:59:34 ] >>714 ああ、説明不足でしたね。 行単位で下らない置換処理を行う下らないプログラムを色々な言語や ライブラリを使って書いてみたのです。 ですので、例えばPerlで書いたものも、$/をundefせずに行単位で入力して いますから、条件は対等のはずでしょう。 C++で書いたものがあまりに遅いので、試しに置換処理を抜いて コピーだけにしたところ、その時点で他のスクリプト言語にさえ負けている (wfstreamの場合は)ことが判明してしまいました。
718 名前:703 [2007/08/02(木) 22:04:32 ] RESありがとう御座います。 そうですか、普通にアクセス可能ですか。。。 現象としては「static int xxx」で宣言した変数がリンカーで次のようにエラーしてしまいます。(環境VC2005) LNK2001: 外部シンボル ""public: static int PerfMonMgr::xxx" (?xxx@PerfMonMgr@@2HA)" は未解決です。」 宣言部にstaticを取って「int xxx」で宣言するとエラーは出ないんですが。 ちなみにこのコードはDLLのコードの一部なんですが関係ありませんでしょうか。
719 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 22:07:27 ] 変数の実体作ってないんでしょ。
720 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 22:07:34 ] >>717 perlとかはIO関連はC/C++の標準関数は使わずに独自にコントロールしてるんじゃなかったっけ? PerlのIOはPerl向けにチューニングしてるからこそそうなるんであって、 何にもしない素でもC++なら速いと思ってるなら幻想だろう。 構造的な美しさをとるか泥臭くても速度をとるかでケースバイケースじゃないかなぁ。
721 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 22:09:23 ] なかなか興味深い結果だな。
722 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 22:10:24 ] ちょっと話題がそれるが、C++でファイルのコピーだけならこんなカンジでいいんじゃね? std::ofstream("out.bin", std::ios::binary) << std::ifstream("in.bin", std::ios::binary).rdbuf() ;
723 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 22:26:00 ] OSネイティブの入出力APIを使うストリームバッファを自分で書いたりしてみたらどう?
724 名前:710 mailto:sage [2007/08/02(木) 22:29:02 ] ↓実験に使ったソースです tonosiki.mbnsk.net/uploader/src/up1564.zip 青空文庫のテキスト形式の小説を読み込んで、<ruby>タグを適当に 挿入するだけの下らないプログラムです。 サンプル入力として夏目漱石の三四郎を入れてあります。 C++のものは、Boost(Xpressive)、ICU、COM(VBScriptのRegexエンジン) を用いたものと、単にコピーするだけのもの3種(wchar_tに変換しない版、 自前で変換する版、wfstreamに任せる版) スクリプトはJScript(WSH用)、perl, python それとC#のものがあります。 C++で無変換なものが無論最速でしたが、次に速いのはJScript + wshext.dll でした(cscript.exeなどから明示的に起動するとずっと遅い) C++ではICUがなかなか健闘しましたが、boost版はPythonやPerlに勝てず、 wfstreamでただコピーするだけの版は、これらのどれよりも遅かったです。
725 名前:710 mailto:sage [2007/08/02(木) 22:35:40 ] >>720 もともとPerlは速い印象でしたが、エンコード指定のopen()を使うと それほどでもない というか、意外にもPythonのほうが速かったです。 どっちもcygwinのもの(つまり遅い実装)を使ったのですが それよりもVC++7.1でコンパイルしたネイティブのC++プログラムが遅いのは 流石にどうかと思いました ちなみにC++のものは、std::basic_stringを戻り値として使わず 全て参照引数渡しで同じインスタンスを使いまわすとパフォーマンスの 改善が見られましたが、素直な書き方に比べて大きな違いが出るほどでは ありませんでした。
726 名前:デフォルトの名無しさん [2007/08/02(木) 22:41:30 ] Cが最速なのは間違いがないよ C単体ならDLLを使わなくていいんだから・・ 時間が掛かるところは、読み込み、出力と置換する場所のサーチでしょ? 文書をバッファに蓄えておいて、置換作業と並列化してみ
727 名前:710 mailto:sage [2007/08/02(木) 22:46:34 ] >>726 Cでも書こうかと思ったのですが、 char->wchar変換 置換1〜3 wchar->char変換 の5段ぐらいのフィルタ処理を行っており、文字列処理とメモリ管理が あまりに面倒臭いのでやめましたw CでやるならGCが欲しいです。
728 名前:デフォルトの名無しさん [2007/08/02(木) 22:48:01 ] >>724 キミのCのコードは訳が分からん(知識がない訳だが・・・) もっと単純に書いてみ char型にして<<を探して置き換えるだけだろ?? そしたら速いかもよ
729 名前:710 mailto:sage [2007/08/02(木) 22:49:59 ] >>728 Cでは書いていません。C++です。 拡張子cppのものは全てmain()を含むメインプログラムで、 全てのソースでfilter.hppをインクルードしています。
730 名前:デフォルトの名無しさん [2007/08/02(木) 22:50:24 ] >>727 726でCといったのはC++を含むわけだが・・・ 単純に言って、一行読み込んで《・・》を書き換えるだけでしょ? なぜ何工程も必要なんだよ???
731 名前:710 mailto:sage [2007/08/02(木) 22:52:11 ] >>730 日本語を含む正規表現での置換処理ですので、wchar_tに変換しています。 置換を3段階行っているのは、もっと効率化できるかもしれませんが、 どの言語でもやっていることは同じです。 C++だけ特に遅くなるような書き方をしているつもりはありません。
732 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 22:52:15 ] C++のlocale周りを理解している人間なんて本当に少ない。おれもよくわかんないし。 それはぐぐっても日本語英語問わず資料が少ないことからも想像が付く。 そして処理系の実装はバグ持ちで遅く、ますます誰も使わず、負の悪循環。 >>730 その処理を全部省いたとしても、ワイド文字ストリームという砦が待ち構えている。
733 名前:デフォルトの名無しさん [2007/08/02(木) 22:53:54 ] >>731 正規表現使わずに、例えばchar c[1000]; に読み込んで if ( c[i]=='<' && c[i+1]=='<' ) とやった方が速いだろ
734 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 22:56:18 ] >>733 他言語との比較でそんな抜け道はだめだろ。
735 名前:デフォルトの名無しさん [2007/08/02(木) 22:59:27 ] 速く変換したいという目的なんでしょ?そのためにどれが速いか検討していると 普通に考えると正規表現使わず<<だけ見つけた方が速いだろって事だ
736 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:00:29 ] wchar_t なんかに変換する必要ないじゃん。 その文字コードに合わせて処理すればいいだけ。
737 名前:710 mailto:sage [2007/08/02(木) 23:02:44 ] >>735 いいえ。違います。 速くしたいのならmmap()でも使いますが、Perlで以下の3行で済む下らない 仕事に一体何行費やすつもりですか。 試しにCのコードを書いてみてください。可変長の文字列を使う時点で既に Cでは面倒くさいです。 $s =~ s{(.+)[#「\1」に傍点]}{ sprintf('<ruby>%s<rt>%s</ruby>', $1, 'ヽ' x length($1))}ego; $s =~ s/|?([々\x{4E00}-\x{9FFF}\x{F900}-\x{FAFF}]+)《(.+?)》/<ruby>$1<rt>$2<\/ruby>/go; $s =~ s{([||〔\s])([^|〔《》\s]+)《(.+?)》}{sprintf( '%s<ruby>%s<rt>%s</ruby>', ($1 eq '|') ? "" : $1, $2, $3)}ego;
738 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:03:43 ] C++ならなんでも速いというのは幻想。 速くなるようにチューニングする余地が用意されているというだけで、 素のままで速いとは限らない。正に今回はその好例。
739 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:04:18 ] 文字コードが何かもわからないのに>>733 はないだろ UCS-2だったらどうする
740 名前:デフォルトの名無しさん [2007/08/02(木) 23:04:37 ] どのコードでも、《》の配置は換わらないのでは???
741 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:06:57 ] >>735 普通の考えなんか価値なす。 大事なのは現実の速度。
742 名前:710 mailto:sage [2007/08/02(木) 23:07:40 ] >>740 漢字《ふりがな》 といったパターンを捕まえて、変換しなければなりませんので、 文字クラスにUnicodeが使えると便利なのです。 それに、「全ての言語で」Unicodeの正規表現を使っています。 C++だけわざわざそうしているわけではありません。
743 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:09:53 ] >>735 他の言語でも同じことやったら、またC++より速くなったりしてw
744 名前:735 [2007/08/02(木) 23:09:59 ] >>710 、ちょっとまってて いま書くから もとのファイル354Kしかないから100倍 (35M) に増やして比較しようぜ! そしたら速度差は歴然になるからさ
745 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:11:22 ] 思わずどっちの方向に歴然とした差が生まれるのかwって言いたくなる。
746 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:12:45 ] ソース見てなかった 》携帯からのtypoかと思ってた
747 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:12:52 ] じゃあ俺はHSPで書く!!
748 名前:735 [2007/08/02(木) 23:16:30 ] ちなみに漢字コードは元々のシフトJISに限定するけどいい??
749 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:18:52 ] ついでだからwchar_tに変換するものも書いてよ。 変換方法は何でもいいからさ。
750 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:20:50 ] >>731 まず入力にはboost::spirit::file_iteratorを使う デコード用のiteratorは自分で書くかboostの中から探す つぎにxpressiveのregex_token_iteratorでトークンに分ける(cvsのでないと遅くなるので注意) そのトークンに付け加えつつストリームに出力する こうしてstd::stringどころかヒープさえほとんど使わないで出力する これで世界最速のプログラムの完成である (完)
751 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:23:05 ] そもそも、Perl だろうが何だろうが、 ターゲットの文字コードは分かんないとあかんだろ?
752 名前:デフォルトの名無しさん [2007/08/02(木) 23:25:29 ] 文字コードを統一する部分を持っていればよい
753 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:32:51 ] 標準ではないけど、mbs系の関数使えば?
754 名前:デフォルトの名無しさん [2007/08/03(金) 00:02:30 ] やっぱ面倒になった 方針だけ書いておく e[2]="《"; f[2]="》"; strに一行読み込み str[n] str[n+1]がeと一致するものを探して k=n-2、n-4・・・を調べて (c[k]>134 && c[k]<160) || (c[k]>223 && c[k]<254)でないもの(漢字でない)を見つける そのあとに<ruby>を挿入して、漢字もつなげる 以下同様にやる
755 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 00:21:35 ] とりあえず、boostをベースに、iostreamをstdioにしてみた。 コンパイラはVC2005。対象は、SANSHIRO.txtを20回繰り返した7MBのテキスト 測定は面倒だったから、cygwinのbashのtimeで。 boost$ time ./boost ../input/20.txt real 0m9.324s user 0m0.031s sys 0m0.015s stdio$ time ./boost ../input/20.txt real 0m7.356s user 0m0.031s sys 0m0.015s
756 名前:710 mailto:sage [2007/08/03(金) 00:24:26 ] >>755 stdio版も意外に遅いですね。 time cygstart aozora.js ../input/20.txt の結果はどうでしょうか? (jsがwshext.dllに関連付けられているかどうか分かりませんが)
757 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 00:30:29 ] 710死ね
758 名前:673 mailto:sage [2007/08/03(金) 00:56:35 ] どうやらBOOST_TYPEOFというのがあるらしいですね VCのバグを使ってほぼ完全にGCCのtypeofをエミュレートできるようです (しかし本当にtypeofという名前だったとは…^^;) 早速使って見ましたが意図したとおりに動いていい感じ range_XXXとかのメタ関数やsmart_ptr,optionalのようなテンプレートと相性がよいようで、 変数から型の参照が文法の上で自在に行えるのは気持ち良いです >>690 検索かけてみましたが0xではその名前になるようですね Visual C++0x(仮)を楽しみに待ちます
759 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 01:00:35 ] bash-3.1$ perl -v This is perl, v5.8.8 built for MSWin32-x86-multi-thread Binary build 820 [274739] provided by ActiveState www.ActiveState.com (ry bash-3.1$ time perl aozora.pl ../input/20.txt real 0m7.738s user 0m0.015s sys 0m0.031s bash-3.1$ time cscript aozora.js ../input/20.txt Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. real 0m7.637s user 0m0.015s sys 0m0.031s
760 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 01:00:43 ] decltype という名前にしたのは、 動的な型は得られないということを分かりやすくしたのかね。
761 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 01:14:35 ] ちなみに、当方ではどうやってもcscriptかwscriptが起動し、 (aozora.jsへの20.txtのD&Dでも)wshext.dllはどうやれば 使えるのかは判らずじまい
762 名前:710 mailto:sage [2007/08/03(金) 01:16:13 ] >>759 わざわざ有難うございます。 JScriptは、cscript.exeやwscript.exeに実行させると私のところでも遅いです。 もしWindowsのレジストリ上でjsがwshext.dllに関連付けられている場合は、 >>756 で書いたようにcygstartでaozora.jsを実行してみてください。 私のところでは、詐欺のような速さになっていました。 ともあれ、stdio版なら、PerlやJScriptよりはどうにか速くなる といったところでしょうか。
763 名前:710 mailto:sage [2007/08/03(金) 01:19:46 ] >>761 レスを読んでいませんでした。 自分も特別に何かしたわけではないので、分からない……
764 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 01:23:06 ] wshext.dllって、実行がexplorerのスレッド内だったりして、 計測できるのはIPC(ファイルをexplorerに渡す)部分だけ、 みたいなオチはないよね?
765 名前:710 mailto:sage [2007/08/03(金) 01:27:50 ] >>764 ……んー。よく考えると、それ以前の問題として、cygstartで起動すると、 すぐに呼び出し側に制御が戻ってきてしまうので、timeで計測ができるはずは ないですね。 失礼しましたm(_ _)m
766 名前:710 mailto:sage [2007/08/03(金) 01:49:44 ] wshext.dllがバカみたいに速いらしいぞ、と勘違いする人がいるかもしれないので 念のため書いておきますが、全くのデタラメでした。 自分も>>755 さんと同じように、cygwinのbashのtimeでいい加減に計測していたのです。 jsだけは関連付けで起動させるために、cygstartで実行させていました。 cygstartで走らせたものの実行時間を計れるわけがないのに。大ボケです。 とりあえず、iostreamさえ捨てればC++でスクリプトに勝てると分かりました。 が、コードを書くのが格段に面倒くさいのに、大して差があるわけでもないのが 悩ましいですね。 自分でもっとずっと複雑な計算をするプログラムなら、当然比較にならない ほどC/C++が優位でしょうけれども。
767 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 01:56:15 ] cygwin の GCC って遅かった気がする。 MinGW の方がいい。
768 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 01:56:45 ] 勘違いするのはお前くらい
769 名前:710 mailto:sage [2007/08/03(金) 02:09:08 ] >>767 C++のプログラムは全てVC++7.1でコンパイルしました。 cygwinのnewlibは、ロケール周りの実装があまりにショボいので、実質的に ワイド文字の処理には使えないと思います。 (VC++にしても、いくつも地雷を踏みましたが。boostも、boost::regexは バグがあってダメでした) >>768 そうですね><
770 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:12:39 ] ><
771 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:13:30 ] xlocaleをちょっと弄ったらboost::regexも落ちないようになるらしいけど詳細は忘れた
772 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:18:51 ] そうですね><
773 名前:710 mailto:sage [2007/08/03(金) 02:22:31 ] >>771 xlocaleてことは、boost::regexのバグではなくVC++のバグってことですかね。
774 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:31:15 ] 勘違いするのはお前くらい
775 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:31:50 ] ライブラリのバグかコンパイラのバグか知らんけど 動くコンパイラはあるわけだからね
776 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:38:02 ] このスレの>>622 に解決法あるじゃん
777 名前:710 mailto:sage [2007/08/03(金) 02:41:17 ] >>776 あれ、それと同じ問題なのかな? 実はそれを教えていただいた>>616 は自分なんですよ。 ただ、>>616 の場合はxpressiveの正規表現のコンパイル時にスタックが 壊れてSEGVになっていたのですが、 boost::regexの場合は、バックリファレンス含みの正規表現で検索すると、 SEGVではなく、boost::regexが例外をスローしていました。
778 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:49:13 ] じゃあこれかな ttp://capslockabcjp.kitunebi.com/faq.html#boost-bug
779 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 02:51:50 ] バグってるのはお前くらい
780 名前:710 mailto:sage [2007/08/03(金) 02:54:02 ] >>778 実はそれをboostスレに報告したのも自分なのです。 その正規表現の例を見ればモロバレでしょうが。 随分前にそれで「使い物にならん」と判断して放置していたのですが、 ここ数日、ふと思い立ってxpressiveで組みなおしてみたのです。
781 名前:デフォルトの名無しさん [2007/08/03(金) 02:58:01 ] 使い物にならんのはお前くらい
782 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 03:11:23 ] この流れは酷いな。
783 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 04:53:07 ] filter.hppってなんじゃらほい
784 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 08:14:09 ] STLportとかApache C++ Standard Libraryとかはどう?