[過去ログ] Boost総合スレ part9 (981レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
933: デフォルトの名無しさん [sage] 2012/05/21(月) 12:40:42.28 AAS
C++/CLIではthreadはうまく動かない

昔いろいろやってコンパイルだけはできるようになったけど、結局動くことはなかった
934
(1): デフォルトの名無しさん [sage] 2012/05/21(月) 13:07:13.78 AAS
C++/CLIはスレッド出来る。.NETとおなじ機能。
C#でも不可能と言うことになる。
935: デフォルトの名無しさん [sage] 2012/05/21(月) 15:37:34.03 AAS
.NETのVMのスレッド用API機能とWin32のスレッド用API
混在してもまともに動く気がしない
936: デフォルトの名無しさん [sage] 2012/05/21(月) 15:43:05.54 AAS
>>934
933の言っているのはboost threadの話。
boostスレだからboostは省いたんだろう。
937: デフォルトの名無しさん [] 2012/05/25(金) 18:04:12.87 AAS
spirit::qiで質問なんですが、Attributeを捨てることって出来ないんでしょうか?
stringを返すruleを使うと、一番上までstringを返さないと存在しないAttribute(string)にアクセスしようとして
不正落ちしてしまいます。
パース中に使用し終わって、解析後にまで残す必要ないものなので捨てたいんですが・・・

あとついでに
>>757
757(1): デフォルトの名無しさん [sage] 2011/11/25(金) 22:45:17.23 AAS
boost.spirit.qiでセマンティックアクションから、
一致したruleのrangeを示すiteratorが欲しいのですがclassicを使うしか方法はないのでしょうか?
例えば、以下の様にしたいです。

void action(Iter first, Iter last){ ... }
//...
(char_('(') >> *char_('0') >> char_(')'))[action];
外部リンク[html]:www.boost.org
このディレクティブを使えばiterator_rangeを受け取れるようです
938
(1): デフォルトの名無しさん [sage] 2012/06/03(日) 09:10:19.76 AAS
VisualStudio 2010 でboost::filesystem::directory_iterator の leaf() を使いたいんですが
Version 1.36 では使えません、どのバージョンなら使えますか。
もしかして、まだ、未対応ですか?
939: デフォルトの名無しさん [sage] 2012/06/03(日) 09:14:06.80 AAS
2年前に1.42で使ってたきがした。
少なくてもその辺以降なら使えるんじゃないだろうか。

後は詳しい人よろしく
940: デフォルトの名無しさん [sage] 2012/06/03(日) 09:26:54.17 AAS
leafって名前変わらなかったっけ?
941: デフォルトの名無しさん [sage] 2012/06/03(日) 10:10:51.40 AAS
>>938 です
thx です。
ごめんなさい、バージョンを間違えていました。
boost_1_46_1 でした。が、leaf() って使えないんですね?

<boost/filesystem/fstream.hpp> を調べると
#if BOOST_FILESYSTEM_VERSION == 2
# include <boost/filesystem/v2/fstream.hpp>

# else
Visual Studio 2010 ではundef になっています?
leaf() ってboost/filesystem/v2/fstream.hpp に入っているようなので
どうしたら使えますか?
942: デフォルトの名無しさん [sage] 2012/06/03(日) 10:26:23.13 AAS
自己解決しました
マクロできってやるだけで、V2使えました。
943: デフォルトの名無しさん [sage] 2012/06/11(月) 18:33:25.03 AAS
leafはpathに名前変わった
ってもう見てないよね
944: デフォルトの名無しさん [sage] 2012/06/11(月) 23:13:13.00 AAS
path().filename() だろ
945
(1): デフォルトの名無しさん [sage] 2012/06/14(木) 00:15:07.24 AAS
boost.intrusive

でコンテナに同じ要素を2つ以上登録するのってできないの?
lets boostの例で同じ要素追加しようとしたらエラーになった

lst.push_back(*pa);
lst.push_back(b);
lst.push_back(c);
lst.push_back(*pa); ここでおかしくなる
946: デフォルトの名無しさん [sage] 2012/06/14(木) 11:28:56.17 AAS
auto d = *pa;
lst.push_back(d);

しよう
947: デフォルトの名無しさん [sage] 2012/06/14(木) 11:38:00.10 AAS
>>945
できない。仕組み考えればわかるだろ
class hoge
{
hoge *prev;
hoge *next;
int value;
}
みたいな構造でprevやnextに自分自身のポインタを入れてリンクの終端を探して探索すれば無限ループになる
948
(1): デフォルトの名無しさん [sage] 2012/06/14(木) 21:50:25.15 AAS
boost::interprocess::shared_ptrってプロセス間通信用の名前空間に入ってるけど、
DLLの入出力なんかに使ったら、常にexeとdllで同じバージョンに保っとかないと
クラッシュするよね。なんで:interprocessの中に入ってんの?
949
(1): デフォルトの名無しさん [sage] 2012/06/14(木) 23:31:39.75 AAS
>>948

それをいうならshared_ptrに限らず異なる領域にあるモジュール間の通信に使うものは
双方のモジュールで互換性のあるものを使わないと問題がでるけど。
(必ずしも同じバージョンの同じライブラリを使う必要はない。そのほうが単純に楽で確実性が高いだけ)

それとBoost.'Interprocess'は名前どおりのプロセス間通信用に限定されたものでなくスレッド間通信用のライブラリでもある。
950: デフォルトの名無しさん [sage] 2012/06/15(金) 22:18:05.21 AAS
>>949
やっぱダメなんやね。
外から見るとテンプレートで型安全。
内部ではvoid* で保持。
実装ははpimplでDLLに配置ってな感じで
自前でスマポ作らないと安全な仕様は無理か。
951: デフォルトの名無しさん [sage] 2012/06/15(金) 22:45:31.07 AAS
両方自前ならknown/rquest versionのやり取りするだけじゃん?
952: デフォルトの名無しさん [sage] 2012/06/18(月) 11:01:26.91 AAS
boostでLU分解で逆行列を作ってみた
2000x2000もそこそこの時間ででき
A*A-1もきっちり単位行列で帰ってきた。

教えてほしいのですが、
boostのLU分解は
マルチスレッド対応なのか
丸め誤差を内部できっちりやってるのでA*A-1が正確なのか
10000x10000はboost LU分解で対応できるのか?
953: デフォルトの名無しさん [sage] 2012/06/19(火) 01:46:26.94 AAS
ソースみたら
954: デフォルトの名無しさん [sage] 2012/06/19(火) 08:40:11.35 AAS
コンパイルオプションなしで
勝手にマルチスレッドになるなんてことあったかな
955: デフォルトの名無しさん [sage] 2012/06/19(火) 15:32:24.79 AAS
thread-safeかどうかを聞いているのかもしれんぞ
956: デフォルトの名無しさん [sage] 2012/06/20(水) 14:52:23.16 AAS
#pragma
で勝手に動的リンクするMSVC
があるのだから、同じようにマルチスレッドもやってくれたりするかも
957: デフォルトの名無しさん [sage] 2012/06/20(水) 21:34:35.49 AAS
Open MPつかえばええがな
1-
あと 24 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s