[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/16 09:47 / Filesize : 198 KB / Number-of Response : 952
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Boost総合スレ part9



1 名前:デフォルトの名無しさん [2010/05/28(金) 11:49:47 ]
過去スレ
Part 8 pc12.2ch.net/test/read.cgi/tech/1251446016/
part 7 pc12.2ch.net/test/read.cgi/tech/1232367742/
part 6 pc11.2ch.net/test/read.cgi/tech/1207749841/
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/

930 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 00:07:51.46 ]
<boost/thread.hpp>をインクルードすると下記のエラーが出ます。
どうすればいいでしょうか?
開発環境はVC++ 2008/2010 WinXPです
ソースコードは
metalphaeton.blogspot.jp/2011/04/boostthread.html
ここにあるものをそのまま使いました

1>c:\program files\boost\boost_1_47\boost\thread\win32\basic_timed_mutex.hpp(160) : warning C4793: boost::detail::basic_timed_mutex::unlock': ネイティブ関数としてコンパイルされました:
1> マネージ コードでサポートされていない組み込み型が見つかりました
1>c:\program files\boost\boost_1_47\boost\thread\win32\thread_primitives.hpp(314) : warning C4793: boost::detail::win32::interlocked_bit_test_and_set': ネイティブ関数としてコンパイルされました:
1> マネージ コードでサポートされていない組み込み型が見つかりました
1>main.obj : warning LNK4248: 未解決の typeref トークン (0100001F) ('boost.detail.win32._SECURITY_ATTRIBUTES') です。イメージを実行できません。

931 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 00:31:14.34 ]
>>930
本当にC++ですか?

932 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 07:07:29.09 ]
>>930
C++/CLIはC++じゃありません

933 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 12:40:42.28 ]
C++/CLIではthreadはうまく動かない

昔いろいろやってコンパイルだけはできるようになったけど、結局動くことはなかった

934 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 13:07:13.78 ]
C++/CLIはスレッド出来る。.NETとおなじ機能。
C#でも不可能と言うことになる。

935 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 15:37:34.03 ]
.NETのVMのスレッド用API機能とWin32のスレッド用API
混在してもまともに動く気がしない

936 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 15:43:05.54 ]
>>934
933の言っているのはboost threadの話。
boostスレだからboostは省いたんだろう。

937 名前:デフォルトの名無しさん [2012/05/25(金) 18:04:12.87 ]
spirit::qiで質問なんですが、Attributeを捨てることって出来ないんでしょうか?
stringを返すruleを使うと、一番上までstringを返さないと存在しないAttribute(string)にアクセスしようとして
不正落ちしてしまいます。
パース中に使用し終わって、解析後にまで残す必要ないものなので捨てたいんですが・・・

あとついでに
>>757
www.boost.org/doc/libs/1_49_0/libs/spirit/doc/html/spirit/qi/reference/directive/raw.html
このディレクティブを使えばiterator_rangeを受け取れるようです

938 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 09:10:19.76 ]
VisualStudio 2010 でboost::filesystem::directory_iterator の leaf() を使いたいんですが
Version 1.36 では使えません、どのバージョンなら使えますか。
もしかして、まだ、未対応ですか?



939 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 09:14:06.80 ]
2年前に1.42で使ってたきがした。
少なくてもその辺以降なら使えるんじゃないだろうか。

後は詳しい人よろしく

940 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 09:26:54.17 ]
leafって名前変わらなかったっけ?


941 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 10:10:51.40 ]
>>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 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 10:26:23.13 ]
自己解決しました
マクロできってやるだけで、V2使えました。

943 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 18:33:25.03 ]
leafはpathに名前変わった
ってもう見てないよね

944 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 23:13:13.00 ]
path().filename() だろ

945 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 00:15:07.24 ]
boost.intrusive

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

lst.push_back(*pa);
lst.push_back(b);
lst.push_back(c);
lst.push_back(*pa); ここでおかしくなる

946 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 11:28:56.17 ]
auto d = *pa;
lst.push_back(d);

しよう

947 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 11:38:00.10 ]
>>945
できない。仕組み考えればわかるだろ
class hoge
{
hoge *prev;
hoge *next;
int value;
}
みたいな構造でprevやnextに自分自身のポインタを入れてリンクの終端を探して探索すれば無限ループになる

948 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 21:50:25.15 ]
boost::interprocess::shared_ptrってプロセス間通信用の名前空間に入ってるけど、
DLLの入出力なんかに使ったら、常にexeとdllで同じバージョンに保っとかないと
クラッシュするよね。なんで:interprocessの中に入ってんの?



949 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 23:31:39.75 ]
>>948

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

それとBoost.'Interprocess'は名前どおりのプロセス間通信用に限定されたものでなくスレッド間通信用のライブラリでもある。

950 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 22:18:05.21 ]
>>949
やっぱダメなんやね。
外から見るとテンプレートで型安全。
内部ではvoid* で保持。
実装ははpimplでDLLに配置ってな感じで
自前でスマポ作らないと安全な仕様は無理か。


951 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 22:45:31.07 ]
両方自前ならknown/rquest versionのやり取りするだけじゃん?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<198KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef