1 名前:デフォルトの名無しさん [2006/09/23(土) 15:00:11 ] 語って.はぁと part boost::mpl::int_<3> 前スレ part 2 pc8.2ch.net/test/read.cgi/tech/1139313234/ part 1 pc8.2ch.net/test/read.cgi/tech/1091198276/ ■関連サイト■ Boost C++ Libraries www.boost.org/ Boost 翻訳プロジェクト boost.cppll.jp/HEAD/ Let's Boost www.kmonos.net/alang/boost/ boost info shinh.skr.jp/boost/
44 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 00:32:57 ] んじゃコンパイルは
45 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 00:45:35 ] >>44 元来の英語の意味は「蒐集する、編纂する」というニュアンス。 コンピュータ用語としては「コンパイル」が広く普及しているので、そのままで桶。
46 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 00:50:42 ] コンパイルは、過労働で疲労困憊する、ってことかと思ってました。
47 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 00:51:40 ] あれだろ。サイレントメビウス書いた人の漫画
48 名前:デフォルトの名無しさん [2006/10/01(日) 01:17:53 ] 関数を書くときに OptionalとExpressionTemplate使って辺値を 数式と計算に分離できるようにできるかな? できたら数式のままいろんな計算できそうなんだけども。
49 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 01:20:59 ] のーみそこねこね
50 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 01:52:05 ] 最近ハートが付いて復活したな…
51 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 06:59:28 ] 1.34 全裸正座待ち中
52 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 08:43:49 ] CVSで最新取って来ればいいのに
53 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 09:28:27 ] プレイだから
54 名前:デフォルトの名無しさん [2006/10/01(日) 16:40:13 ] 日本人は低能知能なのには呆れますね。 私達中華人民はあなたたちの掲示板を拝見して笑ってみてますよ。ではありがとうございました。
55 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 17:01:27 ] ありがとう!
56 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 17:18:50 ] 礼儀正しい方だね
57 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 00:49:04 ] こころゆくまで拝見してください
58 名前:拝して見るのはあくまで自分な mailto:sage [2006/10/02(月) 12:19:15 ] >>57 日本語でどうぞ。
59 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 12:22:28 ] >54を見れ
60 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 12:58:34 ] 自敬表現も日本語だろ。
61 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 19:30:53 ] 中華人民は煽りも丁寧だな。さすが中華
62 名前:デフォルトの名無しさん mailto:sage [2006/10/02(月) 23:41:17 ] うむ、我々もこういった物腰を見習わなければならんね。
63 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 00:51:37 ] 他のスレでもやってたけど、ここでも塩撒いとこうぜ。 六四事件 天安門
64 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 06:57:16 ] 台湾独立万歳!
65 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 12:38:27 ] まあ俺らがこのスレでやってることは彼らが2000年位前にすでに通った道だからな
66 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 12:43:21 ] >>65 そうそう。今では見る影もないけどね。>彼ら
67 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:53:11 ] じゃあ、俺たちもいずれ・・・
68 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 01:51:46 ] boost::operators見てこんな書き方が出来るの初めて知ったよ… struct foo { friend bool operator+(const int &lhs, const foo &rhs) { //... }; };
69 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 02:01:04 ] 割と基本的なことだな
70 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 02:01:39 ] Barton-Nackman Trick その本来の目的で使われることが無くなった、 興味深いworkaroundのコード。 テンプレート関数のオーバーロードができなかった時代に考案されたという……。 ADLの助けを借りずしてその関数を呼び出すことは不可能とされている。 民明書房「黎明期の貧弱なコンパイラとその制約」より
71 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 04:05:12 ] wserializationって、もしかしてまだ準備中? Boostを導入しようと思ったきっかけが シリアライズが楽にできそう、なんで、いきなり挫折しそう
72 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 23:41:59 ] 特に問題はないと思うが。 ただ大域locale(std::locale::global)の設定をしないとうまくいかない場合があるはず。
73 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 19:16:27 ] >>72 よかった、頑張ってみます さんくす
74 名前:デフォルトの名無しさん mailto:sage [2006/10/10(火) 00:04:36 ] boost::filesystem::wpath 1.34 わくわく
75 名前:デフォルトの名無しさん mailto:sage [2006/10/10(火) 09:41:46 ] てか、まだ 1.34 のレグレッションテストぜんぜん通ってないよ。
76 名前:デフォルトの名無しさん [2006/10/10(火) 20:07:44 ] vc8 + STLport5.0.2 + Boost1.33.1の組み合わせを実行している人っていますか?
77 名前:デフォルトの名無しさん mailto:sage [2006/10/10(火) 22:07:18 ] 残念。 俺はvc8 + STLport5.1.0 + Boost1.33.1だ。
78 名前:デフォルトの名無しさん mailto:sage [2006/10/10(火) 23:31:01 ] 1.34て今年中には出るのか!?
79 名前:76 [2006/10/11(水) 12:53:48 ] >77さん よろしければ その時のBOOSTのインストール方法をお教えいただけますか?
80 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 19:00:27 ] >>68 というか、「出来ないんじゃないか」と考える理由の方がわからんが?
81 名前:73 mailto:sage [2006/10/11(水) 20:35:01 ] あれから、ワイド文字を使わないシリアライズはできるようになりました しかし、wchar_t文字列のシリアライズコードを書いてみたのですが動作しません コードは25行なんですが、コードに関する質問は 質問スレのほうに書いたほうがよいでしょうか
82 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 20:37:58 ] ここでしなかったらスレが無駄過ぎる
83 名前:73 mailto:sage [2006/10/11(水) 20:47:31 ] そうですね、では 現在、コンパイルすると次のエラーがでます C2027: 認識できない型 'boost::STATIC_ASSERTION_FAILURE<x>' が使われています ↑コンパイル時の展開関係などがわかるようなデバッガがほしい・・ 以下コード。 #include <tchar.h> #include <locale> #include <iostream> //#include <boost/archive/text_oarchive.hpp> #include <boost/archive/text_woarchive.hpp> //#define BOOST_LIB_NAME boost_serialization #define BOOST_LIB_NAME boost_wserialization #include <boost/config/auto_link.hpp> class test{ wchar_t* str; template <class Archive> void serialize(Archive& ar, const unsigned int version){ ar & str; } test(){_tcscpy_s(str,(sizeof(_T("TEST"))+1)*2,_T("TEST"));} }; int main(){ test te(); std::locale::global(std::locale("japanese")); boost::archive::text_woarchive oa(std::wcout); //boost::archive::text_oarchive oa(std::cout); oa & te; return 0; }
84 名前:73 mailto:sage [2006/10/11(水) 20:53:31 ] あ、メモリ確保してない^^;
85 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 22:08:27 ] >>83 C2027ってことはVisual C++だろ。 出力の中から、エラーを起こしたテンプレートがどこから実体化されたのか辿れるようになっている。
86 名前:73 mailto:sage [2006/10/11(水) 22:21:21 ] >>85 まじすか、情報ありがとうございます! あの後、組み込み型での実行は諦めてwstringバージョンを作りました 一応ちゃんと動作しますが、#elifディレクティブのほうは文字化けします #include <tchar.h> #include <string> #include <iostream> #include <fstream> #include <locale> #include <boost/archive/text_woarchive.hpp> #include <boost/archive/text_wiarchive.hpp> #include <boost/serialization/string.hpp> #define BOOST_LIB_NAME boost_serialization #include <boost/config/auto_link.hpp>
87 名前:73 mailto:sage [2006/10/11(水) 22:23:10 ] class Test{ public: Test(std::wstring s):str(s){}; std::wstring str; private: friend class boost::serialization::access; template<class Archive> void serialize(Archive& ar, const unsigned int version){ ar & str; } }; int main(int, char**){ std::wcout.imbue(std::locale("")); Test te(_T("日本語文字列の入力テスト")); #if 1 std::wofstream ofs(_T("out.txt")); boost::archive::text_woarchive oa(ofs); oa & te; ofs.close(); std::wifstream ifs(_T("out.txt")); boost::archive::text_wiarchive ia(ifs); ia & te; ifs.close(); std::wcout << te.str << std::endl; #elif 1 boost::archive::text_woarchive ar(std::wcout); ar & te; #endif return 0; }
88 名前:77 mailto:sage [2006/10/11(水) 22:23:11 ] >>79 まずはbjam.exeをゲットしてboostのフォルダに入れておく。 それから、次のようなバッチファイルを作って、実行。 cd "boostのフォルダ" set INCLUDE=STLportのヘッダのフォルダ;%INCLUDE% set LIB=STLportのライブラリのフォルダ;%LIB% call "C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat" bjam -sTOOLS=vc8_0 --prefix="ライブラリの生成先フォルダ" install 深くは使ってないんで、完璧にうまくいってるかは分からないけど。
89 名前:76 [2006/10/12(木) 13:23:24 ] 77さん書き込みありがとうございます。 その方法でやってみるとBoostとSTLportがVC8上で共存できませんでした。 >bjam -sTOOLS=vc8_0 --prefix= ではなく bjam -sTOOLS=vc8_0-stlport --prefix= が公式HP上で出るのを待つしかないのでしょうか??
90 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 15:28:52 ] >>89 ぐぐったらでてきた d.hatena.ne.jp/Hossy/20060926
91 名前:77 mailto:sage [2006/10/12(木) 18:42:34 ] 普通に使えてるけど……
92 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 20:51:42 ] もはやboost無しでは生きていけない。 cygwinにboostのパッケージが用意されていて助かった。
93 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 21:01:59 ] じゃぁ死ね
94 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 21:07:00 ] >>93 何だとゴルァ!
95 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 21:32:05 ] C++をどっぷりやってる人のblogとかは boost使ってない事が無いな
96 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 21:36:26 ] boost禁止のプロジェクトにアサインされて死ねばぁ
97 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 21:58:03 ] つうかboostOKのプロジェクトなんてそうないだろ
98 名前:デフォルトの名無しさん [2006/10/12(木) 22:02:52 ] >>95 んなこたない。boost使ってない奴はC++にどっぷりじゃないと思ってるだけだろ
99 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 23:26:17 ] >>98 つまり>>95 にとって「C++どっぷり」と「boost使う」が同値なわけか
100 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 23:30:55 ] C++に詳しい奴がboost使うと思ってるんだろ。 実際は逆なんだけどな。
101 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 23:36:14 ] ああ、本当にC++に詳しい奴はBoostを作る、だからな。
102 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 23:37:59 ] >>100 逆っていうか、相関性はあまりない気が 詳しいかどうかじゃなくて、便利だから使うだけだしな
103 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 23:38:10 ] >>100-101 激しく同意
104 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 23:56:51 ] どっぷりというか魅せられた奴が多いとは思う
105 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 00:10:38 ] >>95 アイディアとかは参考にするし、似たようなもの実装することもあるし、 既に似たようなもの作ってたりとかだなあ。 スレッドとかファイルシステムとかのライブラリって結局自前じゃないと いろいろ融通が利かなくって、他人のはめんどくさい気がするんだよなあ。 ちょっとずれるけど、C++もCPANみたいにFTPとかXMLとか応用的なライブラリが まとまって管理されたりするといいなあとか思うな
106 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 00:35:18 ] GILみたいになんでもかんでもboostに投げればいいんじゃないかな?
107 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 07:54:25 ] 大したことない自前ライブラリ使ってるから投げられないと思われ
108 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 08:55:25 ] まあ新しいライブラリとかが出たときは、いつでも「なんでもできるし、 もう自分で作る必要はない」とか売り文句がついてくるんだけどさ。 OWLとかMFCもATLもそうだったけど、そういうのの上位に作るとさ、その ライブラリの衰退と共に自分のコードも死んじゃうんだよね。 あと、自前はたいしたことなくていいんだよ。必要なときに必要な箇所を 実装すればいいんだからさ。
109 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 09:12:12 ] Boostはその特性からして、衰退するときはC++と同時だと思うが。
110 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 09:29:40 ] それはそうかもね。MFCとかよりはだいぶ標準よりだろうし。 まあ、boostの場合は衰退の前にもっと繁栄しないとかなと。。
111 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 10:17:36 ] 今は、C++からの逃げ道としてC#やjavaが用意されている時代です。
112 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 12:16:24 ] >>101 boostの開発者は自分で使いたいから作ったんじゃないの? 自分では使わないけれど他人に使わせるために作ってるわけ? 105の言うとおりに同等品を既に作ってあるとかなら別だけど。
113 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 12:37:39 ] 人は何故mplを作るのか? そこにテンプレートメタプログラミングがあるからだ。
114 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 12:42:21 ] >>112 ただboostを使ってるだけの連中は、boostを作ってる連中に比べれば全然C++に詳しくない。 って話だろ?
115 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 12:44:10 ] プロジェクトで使えなくとも、Boost のヘッダ見て部分的に移植するのは いろいろと勉強になって楽しいけどな 特に detail/ 以下漁るといろんなモノ発掘できて楽しいw
116 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 12:48:55 ] >>114 ただC++コンパイラを使っているだけの連中は、C++コンパイラを作っている連中に比べれば(ry
117 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 19:18:21 ] >>115 たしかに。lightweight_mutex (shared_ptr で使用)だの、 phoenix (spirt で使用) だのは、ブラッシュアップして表に出して欲しいくらい。
118 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 22:14:55 ] でも、同等機能が複数あるのはやだなあ。統一してほしいものだ。 phoenixはlambdaと統合中とかどこかでみたような。。
119 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 13:11:22 ] >>105 順番の問題じゃない?下位のクラスが安定してきたらそのうちできるでしょ。 spirit使えばXMLパーサの実装も理屈的にはBNFを移すだけになるしさ。
120 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 16:27:50 ] C++ の場合は空間効率と実行効率の要求が分野によって全然違う上に、 そこをいくらでもチューンナップできる自由度もあるので、 なかなか汎用的な低レベル層を作るのは難しいという気がする。 で、それをテンプレートポリシー化によって汎用的にしすぎると 今度はコンパイル時間が許容できなくなったり、言語非互換の壁に ぶちあたったりするという罠。
121 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 17:59:04 ] 伸びないねこのスレ C++は詳しくないけど面白そうなのでboost::spiritを学び始めた どういったことに使おうかなーって思って BNFの具体的な使われ方を調べようと思ったんだが ググっても基本的な使い方ばっかりがヒットするorz 正規表現雑技のページとかが理解できたら 幅が広がりそうだが 今度は逆に応用過ぎて理解できない
122 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 18:19:59 ] おもしろいけど ミニ電卓作るとか 自前でXMLパーサ作る位しか思いつかなかった 頭ひねって普通にCで書いた方がコンパイル速度でイライラしなくて済むけど…
123 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 19:26:36 ] すでにある程度作ってしまったプログラムの構造を変えずに おまけ機能を追加するときに、 bindとかは大活躍してる lambdaは使いこなせてない
124 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 20:11:14 ] そこでboost::lambda::bindですよ。
125 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 00:01:29 ] boost::interprocessって8月のも10月のもexampleにある奴すら ビルドできないんだけど、誰かどこに手を入れればいいかわかる人居ます?
126 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 08:53:42 ] まあまだ日本で実務でばりばり使ってますって人は少ないんじゃない? C++上級者が興味を持って、調べてる的な感じだよね。 てか、商用ではJavaかスクリプトになりそうだから、クロスでC++って 需要あんまなさそうとか。。
127 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 15:02:46 ] C++を(C++的に)使ってる人自体がまず少なそう。
128 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 15:33:05 ] んなアホな
129 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 16:11:04 ] lang = c++ lang == c こういうことか! …すいません。でも仕事で非標準(かつ多機能)のライブラリの利用を認めてるとこは多くないんじゃない?
130 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 18:35:35 ] shared_ptrに感動しますた さりげなくスレッドセーフになっていてcoolです
131 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 21:50:45 ] スレッドセーフだったっけ?
132 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 21:55:43 ] 参照カウンタの部分はスレッドセーフだな
133 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 22:47:21 ] 誘導されてきました int main(int argc, char * argv[]) { boost::numeric::ublas::vector<float > vec(2); vec(0)=1.0;vec(1)=2.0; boost::function1< float,boost::numeric::ublas::vector<float> > norm_2Functor = &boost::numeric::ublas::norm_2<boost::numeric::ublas::vector<float> >; float out= norm_2Functor(vec) ; } 想定外のメモリーを参照しました で落ちる。何が悪いのだろう。
134 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 16:38:12 ] オフィシャルサイトに何が起こったんだろう。
135 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 16:58:41 ] SFのipが変わったせいで転送に失敗してるとさ じきに直るでしょ
136 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 17:02:39 ] あと急ぎの用があるなら boost.sourceforge.net/
137 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 17:37:55 ] おお、さんきゅー!
138 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 00:32:34 ] >>132 でふぉでそうだったっけ?そしたら遅くないか?
139 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 00:35:46 ] スピンロックかも
140 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 00:49:28 ] Win32だとInterlockedExchange()あたり使ってるんじゃなかったか。
141 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 01:43:59 ] >>138 つ boost/detail/sp_counted_base.hpp
142 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 03:24:06 ] >>133 VC8+boost1.35で試したらちゃんと動いたけど 使ってるコンパイラとboostのバージョンは?
143 名前:133 mailto:sage [2006/10/19(木) 09:30:48 ] >>133 >>142 VC2003 + boost 1.33.1 です とりあえずboostのバージョンあげてきます
144 名前:133 mailto:sage [2006/10/19(木) 09:34:24 ] sourceforge.net/project/showfiles.php?group_id=7586 boost1.35なんてないよ