[過去ログ] Boostを語れゴラァ part3 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
123: 2006/10/16(月)19:26 AAS
すでにある程度作ってしまったプログラムの構造を変えずに
おまけ機能を追加するときに、
bindとかは大活躍してる

lambdaは使いこなせてない
124: 2006/10/16(月)20:11 AAS
そこでboost::lambda::bindですよ。
125: 2006/10/17(火)00:01 AAS
boost::interprocessって8月のも10月のもexampleにある奴すら
ビルドできないんだけど、誰かどこに手を入れればいいかわかる人居ます?
126: 2006/10/17(火)08:53 AAS
まあまだ日本で実務でばりばり使ってますって人は少ないんじゃない?
C++上級者が興味を持って、調べてる的な感じだよね。
てか、商用ではJavaかスクリプトになりそうだから、クロスでC++って
需要あんまなさそうとか。。
127: 2006/10/17(火)15:02 AAS
C++を(C++的に)使ってる人自体がまず少なそう。
128: 2006/10/17(火)15:33 AAS
んなアホな
129: 2006/10/17(火)16:11 AAS
lang = c++
lang == c
こういうことか!

…すいません。でも仕事で非標準(かつ多機能)のライブラリの利用を認めてるとこは多くないんじゃない?
130: 2006/10/17(火)18:35 AAS
shared_ptrに感動しますた
さりげなくスレッドセーフになっていてcoolです
131: 2006/10/17(火)21:50 AAS
スレッドセーフだったっけ?
132
(1): 2006/10/17(火)21:55 AAS
参照カウンタの部分はスレッドセーフだな
133
(6): 2006/10/17(火)22:47 AAS
誘導されてきました

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: 2006/10/18(水)16:38 AAS
オフィシャルサイトに何が起こったんだろう。
135: 2006/10/18(水)16:58 AAS
SFのipが変わったせいで転送に失敗してるとさ
じきに直るでしょ
136: 2006/10/18(水)17:02 AAS
あと急ぎの用があるなら
外部リンク:boost.sourceforge.net
137: 2006/10/18(水)17:37 AAS
おお、さんきゅー!
138
(1): 2006/10/19(木)00:32 AAS
>>132
でふぉでそうだったっけ?そしたら遅くないか?
139: 2006/10/19(木)00:35 AAS
スピンロックかも
140: 2006/10/19(木)00:49 AAS
Win32だとInterlockedExchange()あたり使ってるんじゃなかったか。
141: 2006/10/19(木)01:43 AAS
>>138 つ boost/detail/sp_counted_base.hpp
142
(1): 2006/10/19(木)03:24 AAS
>>133
VC8+boost1.35で試したらちゃんと動いたけど
使ってるコンパイラとboostのバージョンは?
143: 133 2006/10/19(木)09:30 AAS
>>133
>>142
VC2003 + boost 1.33.1
です
とりあえずboostのバージョンあげてきます
144
(1): 133 2006/10/19(木)09:34 AAS
外部リンク[php]:sourceforge.net
boost1.35なんてないよ
145: 2006/10/19(木)11:14 AAS
>>144
CVSの最新版が1.35
146: 2006/10/19(木)11:36 AAS
>133
out = 2.236068
g++(mingw3.4.5)+boost1.33.1 でも問題ないようにみえます。
147: 2006/10/19(木)11:43 AAS
コンパイラか
148: 2006/10/19(木)11:46 AAS
>>133
VC8+boost1.33.1でもちゃんと動くね
149: 2006/10/19(木)16:25 AAS
>>133
VC2003で試したら落ちたのでアセンブリ出力を調べてみた。

function1<float, ublas::vector<float> > norm_2Functor = &ublas::norm_2<ublas::vector<float> >;

and eax,00402fd0 ; ここがおかしい。なんでANDやねん...(00402fd0はnorm_2のアドレス)
push eax ; VC8では2行あわせてpush 00402fd0だけになっている
lea ecx,dword ptr [ebp-3c]
call 00403040
mov byte ptr [ebp-04],01

で、norm_2Functorの宣言をこうしたらとりあえず動いた。
function1<float, ublas::vector<float> > norm_2Functor(&ublas::norm_2<ublas::vector<float> >);

push +00 ; この00は何なんだろう…
push 00402fd0
lea ecx,dword ptr [ebp-3c]
call 00403040
mov byte ptr [ebp-04],01

よくわからないpush 00がとても不安だけど…(VC8ではpushはひとつだけ)
150
(1): 2006/10/20(金)21:04 AAS
VS2003ではfunction1を初期化
norm_2Functor(&ublas::norm_2<ublas::vector<float> >);
でしか呼べないのね。
objectの意味ねえ
151
(1): 2006/10/20(金)21:49 AAS
>>150
function1<float, ublas::vector<float> > norm_2Functor(NULL);
で宣言しておいてswap技法
function1<float, ublas::vector<float> >(&ublas::norm_2<ublas::vector<float> >).swap(norm_2Functor);
で実際の関数を代入とか…

ヤッテランネ(ノ`□´)ノ⌒┻━┻
152
(1): 151 2006/10/20(金)21:52 AAS
メンバ関数のswapがないから
swap(norm_2Functor, function1<float, ublas::vector<float> >(&ublas::norm_2<ublas::vector<float> >));
でないと無理か

そもそもできるかどうか知らんけど
1-
あと 849 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.024s