1 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 23:04:01 ] 過去スレ part 5 pc11.2ch.net/test/read.cgi/tech/1192662575/ part 4 pc11.2ch.net/test/read.cgi/tech/1175663346/ part 3 pc11.2ch.net/test/read.cgi/tech/1158991211/ 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/
72 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 15:13:23 ] >>66-67 できればプロポーショナルフォントを使いたいが、 そこら辺のフォントだとプログラミングには使いづらい。 ピリオドやカンマ、セミコロンが小さすぎる。ゼロには斜線が欲しい。 どこかプログラマのためのプロポーショナルフォントなんて出してくれないものか。
73 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 15:49:38 ] >>70 boost-devel ML にコード投稿したら 多分とりこんでもらえる
74 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 17:15:20 ] >>70 ttp://www.boost.org/doc/libs/1_35_0/doc/html/lambda/le_in_details.html#lambda.members_variables_as_targets でがまんしる
75 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 18:11:19 ] >>72 VC6とかに入ってるFONTEDITで自分で作ればいい。 90文字程度作ればあとはフォントリンクして終わりだから簡単だぞ。
76 名前:75 mailto:sage [2008/05/13(火) 18:32:39 ] ごめん、Win環境限定ならね。
77 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:02:53 ] プロポーショナルフォントでプログラムに困るようなうんこ環境は Windows だけなので問題ない。
78 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 21:23:30 ] つまんね
79 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 07:18:51 ] >>71 CっぽくてもC++で作られたライブラリはCじゃ使えないから線引きは必要だ
80 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 09:47:56 ] Emacs使いな人、もしいたらこれでboost使っても 補完が働くか試してみないか? ttp://cedet.sourceforge.net/intellisense.shtml
81 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 17:37:45 ] #include <boost/array.hpp> #include <boost/serialization/serialization.hpp> struct S { boost::array<int, 3> data; private: friend class boost::serialization::access; template<class Archive> void serialize(Archive& ar, unsigned int ver) { ar & data.c_array(); } }; ttp://hw001.gate01.com/eggplant/tcf/cpp/boost_serialization.html#array ここを見て、boost::array.c_array()で生の配列を取り出してシリアライズしようと思ったのですが、 error C2679: 二項演算子 '&' : 型 'int *' の右オペランドを扱う演算子が見つかりません (または変換できません)。 というエラーが出てしまいました。 どうやればシリアライズできますか?
82 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 20:56:44 ] ar & data.elems;でどうよ。
83 名前:81 mailto:sage [2008/05/20(火) 13:03:27 ] >>82 thx コンパイル通りました。 データがpublicに置いてあるとは盲点でした。 連続で申し訳ないですが、もう1つ質問させて下さい。 Let's Boostで解説されているフルインストールをしたんですが、 ライブラリを必要とするboostを使ったものをビルドするとリンクエラーが出てしまいます。 例えば、 ttp://www.kmonos.net/alang/boost/classes/serialization.html このサンプルをビルドすると、 a.obj : error LNK2001: 外部シンボル ""protected: __thiscall boost::archive::basic_text_iprimitive<class std::basic_istream<char,struct std::char_traits<char> > > ::~basic_text_iprimitive<class std::basic_istream<char,struct std::char_traits<char> > >(void)" (??1?$basic_text_iprimitive@V?$basic_istream@DU?$char_traits@D@std@@@std@@@archive@boost@@IAE@XZ)" は未解決です。 といったa.objでのerror LNK2001が7個(a.objはサンプルソースをコピペした.cpp) libboost_serialization-vc80-mt-gd-1_34_1.lib(basic_serializer_map.obj) : error LNK2001: 外部シンボル ""__declspec(dllimport) public: __thiscall std::_Container_base::~_Container_base(void)" (__imp_??1_Container_base@std@@QAE@XZ)" は未解決です。 といったlibboost_serialization-vc80-mt-gd-1_34_1.libでのerror LNK2001が12個出ます。 libboost_serialization-vc80-mt-gd-1_34_1.libでエラーが出るということは、 ライブラリへのパスが通ってないわけじゃないと思うんですが、原因はどこにあるのでしょうか?
84 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 19:38:03 ] CRTの設定(静的LIBかDLLか)が食い違っているとそんなエラーが出た気がする。
85 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 20:38:55 ] VC2008でビルドするためのパッチを当てる必要があるかもしれない気がする。
86 名前:83 mailto:sage [2008/05/21(水) 08:34:22 ] >>84 いろいろ変えてみたら、/MTでlibboost_serialization-vc80-mt-gd-1_34_1.libでのエラーが消えましたが、 a.objでのエラー7個が残ったままです。 >>85 すみません、詳しくお願いします。 環境はVC2008EEです(書き忘れてましたすみません)。
87 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 08:39:25 ] >>86 www.nabble.com/Preliminary-0.9.0-tarballs---VC++-2008-Express-td14142470.html
88 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 12:41:54 ] >>80 たしか設定済みmeadowに入ってたよね meadowとVisual Studio組み合わせられると便利なんだけどね
89 名前:83 mailto:sage [2008/05/21(水) 14:38:36 ] thx よく理解しないまま、 www.nabble.com/Re%3A-Preliminary-0.9.0-tarballs---VC%2B%2B-2008-Express-p14161224.html に書かれているコードをそれぞれのファイルの末尾に追加してみました。 そして、例のサンプルをビルドしたらエラーは、 C:\Library\boost_1_34_1\boost/config/compiler/visualc.hpp(180) : fatal error C1189: #error : "Compiler not supported or configured - please reconfigure" の1つになりました。 うーん、自分の知識が足りないか・・・。
90 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 16:51:34 ] >>89 おそらくVC8の設定でライブラリをビルドしてしまっているから VC9EEの設定で構築しなおす必要がある。 そのURLに載っているファイル4つを編集してbjam --toolset=msvc-9.0すればいい。 >ファイルの末尾に追加 差分の見方がわからないならdiff unifiedでぐぐれ つーか1_35_0使えばいいんじゃないのか?
91 名前:83 mailto:sage [2008/05/21(水) 21:10:39 ] >>90 1_35_0を入れたら、すんなりビルドできました。 最新版を確認するべきだったorz ありがとうございました。
92 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:55:48 ] BGLを使い始めたのですが、adjacency_listについて質問があります。 adjacent_vertices()は、adjacency_iteratorのpairを返すのですが、 このイテレータはSTLのRandomAccessIterator要件を満たすと ドキュメントに書いてあるのですが、以下のコードのように イテレータに加算すると、コンパイルが通りません。 これは、私のコードに問題があるのでしょうか? // VertexProp, EdgePropは適当に定義 typedef adjacency_list<setS, vecS, undirectedS, VertexProp, EdgeProp> Graph; Graph G; // Gに頂点やエッジを追加してグラフを作成 // vはGの1頂点で、隣接する頂点は複数個存在 tie(ai, ae) = adjacent_vertices(v, G); vertex(*(ai+1), G); // コンパイルエラー ちなみに、環境は以下の通りです。 boost: 1.34.1 コンパイラ: GCC 4.2.3
93 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:20:21 ] >このイテレータはSTLのRandomAccessIterator要件を満たす どこに書いてあります? OutEdgeList を setS で設定しているので, RandomAccessIterator の要件は満たさないと思いますよ.
94 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 09:06:16 ] >>93 www.boost.org/doc/libs/1_35_0/libs/graph/doc/adjacency_iterator.html のMEMBERS OFの項に、 The adjacency iterator type implements the member functions and operators required of the Random Access Iterator concept, except that the reference type is the same as the value_type so operator*() returns by-value. と記述があるのです。この説明はadjacency_iterator_generator::typeに ついてのものだと思っていたのですが、勘違いでしょうか? もう一度ドキュメントを読み返してみたら、MODEL OFの項に The adjacency iterator adaptor (the type adjacency_iterator_generator<...>::type) is a model of Multi-Pass Input Iterator . と記述されていました。これならば、operator+()が定義されていなくても 当然なのですが、ちょっと混乱しています。
95 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 10:13:04 ] >>94 adjacency iterator adaptor は out edge iterator を adapt して operator* の動作を edge の target を返す動作に書き換えるだけだと思います. なのでそのドキュメントは間違っているのではないかと思います. adjacency iterator adaptor はベースになっている out edge iterator が -Multi-Pass Input Iterator なら Multi-Pass Input Iterator -Forward Iterator なら Forward Iterator -(ry という具合に,単にベースの out edge iterator が どの concept の model かを投影するだけ,というのが正しいのではないかと.
96 名前:95 mailto:sage [2008/05/25(日) 10:14:21 ] >>94 それから adjacency_list の adjacency_iterator は 別に adjacency_iterator_adaptor で実装されているとは限らないので, 読むべきドキュメントは adjacency_iterator_adaptor のドキュメントではなくて あくまで adjacency_list のドキュメントかと思います. ただ, adjacency_list において adjacency_iterator と out_edge_iterator が どの iterator concept のモデルなのかの関係については, ↑の議論が踏襲されるのが自然とは思います. そして現に, Adjacency List のドキュメント www.boost.org/doc/libs/1_35_0/libs/graph/doc/adjacency_list.html では, "The adjacency_iterator models the same iterator concept as out_edge_iterator. " と 書いてあります.
97 名前:95 mailto:sage [2008/05/25(日) 10:20:15 ] なので結論としては, >>92 で adjacency_list の OutEdgeList テンプレートパラメタに setS を指定しているので, out_edge_iterator は Bidirectional Iterator concept のモデルになり, 従って adjacency_iterator も Bidirectional Iterator concept のモデルなので, >>92 のランダムアクセスではコンパイルが通らないのだと思います.
98 名前:92 mailto:sage [2008/05/25(日) 13:45:24 ] 詳細にわたって解説していただきありがとうございます。おっしゃる通り、 まずadjacency_listの解説をよく読むべきでした。 OutEdgeListにsetSを使っているのは、エッジの重複を許したくないと いうのが理由でした。グラフを読み込む際にエッジの重複をチェック するようにして、OutEdgeListにはRandomAccessIteratorにするように すればいいのかとも思いますが、そうするとエッジに対する各操作の 時間複雑度も変わってきてしまい、なかなか悩みどころですね。 よく考えてアルゴリズムを実装します。
99 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 16:38:48 ] なんか最近の.NETの中身見てると、Boostが隠ぺいされてそうな雰囲気がするな
100 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 16:44:17 ] 時代がBoostに追い付いてきたって事か
101 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 21:59:24 ] VC++2008EEでboostを使ってみようとboost_1_35_0_setup.exeを使ってインストールしました。 しかし実際に使ってみると「定義されていない識別子です。」と言うエラーが出てコンパイル出来ません。 パスが通っていないのかと思い、以下のように通してみましたが駄目でした。 インストールしたライブラリのタイプ(?)はマルチスレッドとマルチスレッドデバックのみです。 実行ファイルパス…C:\Program Files\boost\boost_1_35_0\bin インクルードファイル…C:\Program Files\boost\boost_1_35_0 ライブラリファイル…C:\Program Files\boost\boost_1_35_0\lib
102 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:02:07 ] 問題が起きる最小限のソースコードplz
103 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:30:24 ] エラーメッセージくらい貼ろうよ
104 名前:101 mailto:sage [2008/06/01(日) 23:00:03 ] すみません、boost::の付け忘れが原因でしたorz
105 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:07:46 ] 微妙にすれ違いだけど、Lokiってあんまり使われてないのかな。
106 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 07:33:20 ] 先駆的なライブラリで、(in "Modern C++ Design") あれの機能は他に取り込まれているから。
107 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 12:19:38 ] おお!そうなんだ。取り込まれ先はBoost?
108 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:35:06 ] 今日初めてBoostを導入してSVNからのビルドも一応出来たんだけど、 Bjam+MSVC9でビルドに数時間掛かる。 コマンドプロンプトを見ると、暫く止まって・急に動いての繰り返しでCPUメータを見ても殆ど動いてない。 CPUを100%使い切って構わないのでさっさとビルドを済ませるオプションはありませんか?
109 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:46:29 ] HDDがボトルネックという可能性は?
110 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:50:07 ] ボトルネックというより不調発生してトライ&エラー多発してるんでは?
111 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:37:51 ] HDDはAHCI接続のWD7500AAKSで、空き容量も110GB程度あります。 CPUはCore2Quad 3GHz、メモリは8GBです。 トライ&エラーというとコマンドプロンプトはWarningの嵐ですが、どこかミスしているのでしょうか。 ビルドオプションは bjam --toolset=msvc -a link=static,shared threading=multi release debug stage ビルド環境はVS2008EE SP1beta+Windows SDK 6.0.6001.18000.367です。 試しに今もう一度ビルドしていますが、20時32分に最初のライブラリが出来て 21時24分の時点で出来上がったライブラリ数は21、21時36分現在は49です。
112 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:49:14 ] >>111 監視ログにHDDの不調でてないか?
113 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:55:19 ] >>111 core2Quad 2,4G 2Gbyteだけど全然かからなかったなあ。 今bin.v2とstageタイムスタンプ見たら10分ぐらいしか幅がない。 CPUメータ上がらないのは変だね。ウイルス対策ソフトとか遅くないか?
114 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:57:24 ] Event Viewerを見てもそれらしきエラーはありません。 VS2008EEをGUIで立ち上げて他のプロジェクトをビルドするときは4コアを100%使い切って 数分で終わるのですが・・・。22時53分現在のビルド数は102個、大量のWarningはC4819(ソースの文字コード絡み?)です。 動作的にはC4819大量発生→20~30秒程沈黙の繰り返しで、HDDへのアクセスは常に続いていますが動作が散発的です。 セキュリティ関係はVista標準のFirewallのみでDefenderは切ってあります。 Boostの本題と関係無い話でスレを潰すのもあまり好ましくないと思いますので、 似た事例が無いかネット上を探してみます。
115 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:59:14 ] ビルド終わりました。 214ファイルで4時間15分・・・orz
116 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:04:34 ] SVNクライアントの設定が変なんじゃね 逐一リポジトリの最新版チェックしてるとか
117 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:50:21 ] set CL=/wd4819 環境変数CLに登録しておくと文字コードの警告表示されなくてすむよ
118 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:23:24 ] それより警告の原因をどうにかしたほうが良いんじゃないかな。 文字が化けてそれ以降のコードが滅茶苦茶になってた事があったから。
119 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:43:08 ] >>117 有難うございます。感謝感激です。 CLに/wd4819をセットしたらビルドが22分で終わりました。CPU使用率も30%前後まで上がりました。 大量のC4819が原因だったみたいです。 警告の原因は多分これでしょうか。 ネットで調べてみるとVisual StudioにはUTF-8Nを読めずC4819を誤検出するバグがあるらしく、 一部のファイルをUTF-8で保存し直せば黙るみたいです(まだ試していません)。 ttp://www.ccm.media.kyoto-u.ac.jp/~aoyama/index.php?Note%2FPrograming%2FWin32#u5a7e582
120 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 03:10:33 ] ビルド時の標準出力はファイルにリダイレクトしとかない?
121 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 03:26:23 ] grepしないと不安だよね。
122 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:51:24 ] >>119 それsvnで直接拾ってきたソース? もしそうならsvnで落とすときに言語設定が日本語になっていて日付が日本語表記になったせいだと思う
123 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:50:43 ] >>122 ソースはsvnからTortoiseSVNで落としてきて、tools/bjamフォルダ内のbuild_dist.batで組んだbjamで ビルドしてます。 言語環境は日本語Vista SP1に英語パックを入れた状態ですが、 日本語の文字化けの関係でシステムロケールは日本語にしています。 今見たら日付のフォーマットはLong dateが漢字を使っていたので英語にしました。 次回のビルドで検証してみます。
124 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 03:29:40 ] 日付と時刻のフォーマットを英語にしてソースを全て落とし直してからビルドしたところ、 /wd4819を設定しなくてもC4819の発生が激減しました。 ビルドも24分で完了しました。有難うございます。
125 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 03:59:02 ] 珍しく有益な情報だな やっぱり結論が書いてあるとよい 質問主も回答者も乙
126 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 09:02:28 ] そういえばドイツ人の書いたコードにドイツ語コメントあってコンパイルこけたことあったな
127 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 10:26:55 ] CじゃなくてPythonだが、スクリプトがエラーを吐くので調べてみたらauthor欄に"◆"が入ってた。 即座に空欄にした。 あの時ほど、死ね2chねらと思ったことはない。
128 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:28:28 ] boostは確かlexical_castとかのauthorがASCII以外の文字を使ってたような気がするぞ、
129 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 14:00:59 ] Boost.Threadに event timer に相当するものがないのはなぜ?
130 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 14:30:20 ] スレッドその物じゃない。
131 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 14:40:50 ] 力作を送れば採用してもらえるかも? そういえばboostに日本人作のものって入ってるの?
132 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 15:59:44 ] boost::conditionとかじゃないのか?
133 名前:デフォルトの名無しさん [2008/06/11(水) 16:03:34 ] >>132 は>>129 へのレス むしろ、Lockの名前や使い方が以前のバージョンと違うほうが問題
134 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 17:12:18 ] boost.rubyができれば強制的に入ることになるかも
135 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:26:59 ] >>131 boost::rangeの一部(MFCコンテナ用range)は日本人っぽい名前だったような。 あとこないだまでレビューしてたboost::eggも多分そう。
136 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:29:51 ] 「C++なぞ問題外」と書いたまつもと氏のRubyがboostに入るわけですか boostは心が広いなぁ、ホント素敵!
137 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:40:03 ] いいえ、RubyをベースにしたRuby++言語の処理系をboostベースで実装します
138 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:53:23 ] boost なぞ問題外.^^;;;
139 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:50:38 ] どうでも良いが個人的にまつもと氏に0xに改善されても尚C++が問題外かどうかを訊ねたい。
140 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:55:22 ] boostのtime関係って ってなんであんなにごちゃごちゃしてるの? boost::date_time boost::x_time boost::system_time
141 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:03:26 ] C++のtime関係がごちゃごちゃしてるからだよ。
142 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:29:45 ] SVNはasioが頻繁にアップデートされているな。 そのうちDirectSoundと同じ位気軽にASIOを扱える様になるんだろうか。
143 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:32:12 ] って、ソース見たらASIO関係無い・・・ 穴があったら入りたい
144 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 02:44:50 ] 全くのスレ違いだがPortAudioをオススメしておく
145 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:02:40 ] ありがとう
146 名前:デフォルトの名無しさん [2008/06/12(木) 06:56:32 ] >>139 jp.rubyist.net/magazine/?0018-Legwork こんな記事も書いてたぞ。
147 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 12:29:48 ] >>139 悪いものに何を付け足しても良くならないと考えるんじゃない?
148 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 13:59:50 ] Ruby より優れた言語はこの世に存在しない。
149 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:07:47 ] スクリプト言語と普通の(?)言語を一緒にされても・・・
150 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 17:46:02 ] Rubyでブートローダーとかデバイスドライバとかゲームとか作れるのかよ。
151 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:03:27 ] boostはpythonをサポートしてるから、boostスレでわめいてもRubyの布教に効果ないよ。
152 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:10:52 ] 空飛ぶパイソンvsキリスト
153 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:28:07 ] boostがrubyに対応させる? rubyがboostに対応させる?
154 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 19:38:59 ] まー、Java(笑)なんかよりは優秀だろ Rubyは
155 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 20:09:15 ] Java言語がいかに貧弱だろうとJVMが優秀だからJavaが有利
156 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 21:15:45 ] 最近じゃscalaとかあるしなぁ
157 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 22:19:12 ] Fortran「」←帰れと退けたくなる様な事言わせろ
158 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 22:25:49 ] >>157 あなた様がいなければ、CやC++といった素晴らしい言語は生まれませんでした
159 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 22:30:47 ] Boost.Malbolgeマダー?
160 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 22:32:13 ] Fortran「全部大文字で書いてくれ。俺の名前も」(1977)
161 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 09:38:24 ] Boost.XML Boost.SOAP Boost.CORBA 誰か作ってケロ
162 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 10:49:42 ] Boost.XMLはspiritにxml用の設定があったような?
163 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 12:20:14 ] xml_iarchive xml_oarchive
164 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 15:10:55 ] boost.rails しかもMPL使いまくりなのを
165 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:42:39 ] BOOST_AUTOは完全にC++に準拠していて尚且つ拡張の無い環境ではちゃんとコンパイルされるの?
166 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 21:51:58 ] それでできたら C++0x の auto の追加はいらないんじゃないか? でも auto ほど簡単な記述はできないか。
167 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:17:23 ] コンパイラのバグをうまくついて実装してたりするんじゃなかったっけ?
168 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:32:40 ] >BOOST_AUTOは完全なコンパイラの元では規定型の自動変数の宣言をラップしたものになる。 >規定型とはC言語時代のint
169 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:43:17 ] ここ5年はMicrosoftべったりのC++プログラミングの仕事だったんだけど標準に近いC++に戻ってきました。 特にテンプレート周りの環境変化は浦島状態なんですが、なにかお勧めの書籍ないですか? 細かいところはWebでしか追いかけられないのは承知ですが、まとまった内容は書籍の方が体系的に吸収できると思うので。 リハビリでModern C++ Designは読みましたが、今となってはあれも古い本だよねぇ。 LokiはBoostに吸収されてしまってるのかな?
170 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 05:15:28 ] 日本語のboost本は殆ど初心者向け。君が得られるものは何もない。 以上からお勧めの書籍は存在しないという結論に至る。 まあ導入くらいが目的なら、そこらに落ちてるboost本なら何でも。
171 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 07:00:15 ] boost本って稲葉の以外に出てるの?
172 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:08:23 ] >>171 Boostスレだけど、C++一般なんだよね? 「C++ Coding Standards−101のルール、ガイドライン、ベストプラクティス」 これが今のところ網羅的な本。初心者にもルール集としては便利だけど、 内容は中級以上じゃないと理解できない。 >>171 つ Beyond the C++ Standard Library: An Introduction to Boost つ The Boost Graph Library: User Guide and Reference Manual
173 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:47:36 ] 日本語は俺も稲葉著以外ないでしょ >>169 C++ Template Metaprogramming テンプレートっていうかBoostのTMPの本だがリハビリには丁度良いかと
174 名前:173 mailto:sage [2008/06/16(月) 09:50:28 ] 間違えた -日本語は俺も稲葉著以外ないでしょ +日本語は俺も稲葉著以外知らない 稲葉のも糞とは言わんが内容的に半端だからなぁ
175 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:50:03 ] みなさん、いろいろ書籍紹介どうもありがと。 とりあえず上がってるやつで日本語のものから優先で読んでみまつね。楽しみです。 ところですれ違いならごめんなさい。 実装環境ですが、WindowsとUnixの両方で動くようなプログラム作成を想定してて 現時点でなるべく新しいものをということで、WindowsはVC9(2008)、UnixはGCCの使用を考えてます。 ここでBoostは、1種類しか実装版がないようなので迷う必要がないですが STLは、STLPortがいいのでしょうか。それともVC・GCCにはじめから添付されてる(?)やつを使うのが普通ですか? たぶん性能と導入容易性とでみなさん天秤にかけておられるのと思いますが…。 LokiはTypelistなどMeta Programming関連が非常に興味深かったですが、 有用なものはBoostに包含されていて、とりあえずBoost使ってればOKな感じですか? ぐぐるとLoki自体はバグがそれなりにとかあったので、仕事には使いづらいのかなとも…。 ちょっと空気が読みきれてなくて、初歩的な質問すまそです。
176 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 12:01:27 ] 両方のOSで動かしたいだけなら、Cygwin入れてgcc使えばいいのに。
177 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:46:26 ] ・Lokiはもはや必要ない ・Boostの前にTR1 ・g++は最新のものを附属のlibstdc++と一緒に ・VC++は「必ず」最新のものを、必要になった時にSTLportと ・暇があればConceptGCCも試す
178 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:48:23 ] フェニックスシングルトンってLoki以外の他のそれ以外のBoost以外を除いたものの中にサポートされてたっけ?
179 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:20:27 ] Boost.Singleton って定期的にレビューに現れては reject されてるな
180 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:46:07 ] >>177 どうもありがとう!
181 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:12:12 ] boost.spiritって何がspiritなの? ふざけてるの?
182 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:52:15 ] すいません、boostを巻き込むとコンパイルにえらい時が掛かるんですが、こんなもんなの?
183 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:53:52 ] つプリコンパイルドヘッダ
184 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:56:38 ] >>182 俺も高性能なPCが欲しくて仕方がない。
185 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:15:09 ] >>182 boost使い始めるとコンパイルが見る見る遅くなるんで笑った。 テンプレートを実体化するものをヘッダーに置くとすさまじく遅くなるようだ。BOOST_CLASS_EXPORTとか遅いね。cppで実体化させる様にすると速くなる。
186 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:37:06 ] xpressiveを使ったときのコンパイルの遅さとmapファイルの肥大化には思わず笑ったな
187 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:41:37 ] VSの簡易リビルドが正確だったら、この機能を使ってコンパイル時間を短縮できるのに。
188 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:52:46 ] boost.pythonちょっと試そうと思ったんだけど 単なるhello, worldにも異常にコンパイル時間かかるから断念した これならSWIGやpyrexみたいなの使ったほうがいい ターンアラウンド遅すぎるしコンパイラのエラーメッセージは不可解だから、 学習やおためしには不向きだな 俺みたいなヘタレは、デバッガつかってもboostのコードは追いきれる自信ねえよ 難解なマクロとテンプレートのコンビ技の嵐だし
189 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:59:12 ] boost::ptr_vector が内部に持っているポインタ配列の先頭アドレスを取得する メソッドはあるでしょうか?
190 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:01:21 ] &V[0]とか?
191 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:32:13 ] ptr_vector の operator[] はポインタが参照するオブジェクトへの参照なので 配列のアドレス情報は含まれないはずです。
192 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:45:15 ] どういう間隔で配列が内部にあるかという情報はないの?
193 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:35:40 ] たぶん内部では boost::ptr_vector<T> pv の中には std::vector<T*> v のようなものが含まれていて template<class T> T& ptr_vector<T>::operator[]( size_type pos ) { return *v[pos]; } のような実装になっていると思う。 実際に欲しいアドレスは &v[0] だけど、&pv[0] とすると v[0] を得てしまう。
194 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:23:22 ] ptr_vectorの定義見ればいいんじゃね?
195 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:09:29 ] マクロばっかの追いにくいコードだったと思う
196 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:17:01 ] Boostに動的ライブラリのラッパーが追加される予定はありますか? GLibのGModuleみたいな。