[過去ログ]
Boostを語れゴラァ part3 (1001レス)
Boostを語れゴラァ part3 http://echo.5ch.net/test/read.cgi/tech/1158991211/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
507: デフォルトの名無しさん [sage] 2006/12/25(月) 13:47:21 Boost.Python でPythonから呼ぶようにした関数って Cとして呼ぶよりも処理が遅くなったりするの? http://echo.5ch.net/test/read.cgi/tech/1158991211/507
508: デフォルトの名無しさん [sage] 2006/12/26(火) 16:16:15 すみませんが、質問です。 Debian Sarge(EUC-JP)上でBoostのsplitなどをを使いたいのですが、ソースコー ドの文字列をEUC-JPにするとエラーになってしまいます。 #include <boost/algorithm/string.hpp> を含むソースで g++-3.4 -finput-charset=EUC-JP -fexec-charset=EUC-JP test05.cpp -o test05 を実行すると、 /usr/include/boost/function/function_base.hpp:23:25: failure to convert EUC-JP to UTF-8 このようなエラーに。 なお、ソースではwchar_t, wstringを使っています。 ソースをUTF-8に、オプションを-finput-charset=UTF-8 にすると動くように なりますが、やはりこれは不便です。 ソースをEUC-JPのままで使う方法はないでしょうか? http://echo.5ch.net/test/read.cgi/tech/1158991211/508
509: デフォルトの名無しさん [] 2006/12/26(火) 18:55:42 age http://echo.5ch.net/test/read.cgi/tech/1158991211/509
510: 508 [sage] 2006/12/26(火) 19:42:26 追記です。 コンパイル時のエラーは、こんな単純なソースでも起こってしまいます。 エラー再現には、ソースにワイド文字リテラルが含まれる必要はありません。 ------------------ #include <boost/algorithm/string.hpp> int main(void) { return 0; } ------------------ g++-3.4 -finput-charset=EUC-JP -fexec-charset=EUC-JP test06.cpp -o test06 ↓ /usr/include/boost/function/function_base.hpp:23:25: failure to convert EUC-JP \to UTF-8 EUC-JPではマルチバイト文字を使えということなのかもしれませんが、せっかく 対応しているのだからワイド文字を使いたいのです。 http://echo.5ch.net/test/read.cgi/tech/1158991211/510
511: デフォルトの名無しさん [sage] 2006/12/26(火) 19:56:55 >>510 boost/ref.hppがLatin-1で書かれているのが問題っぽいな。 ASCIIに直すようにお願いする位しか解決策が思いつかないが。 http://echo.5ch.net/test/read.cgi/tech/1158991211/511
512: 508 [sage] 2006/12/26(火) 20:20:55 >>511 ありがとうございます。 ref.hppの17行目でしょうか?そこを削除しても、やはり同じエラーが出ます。 他に気づいたことは、-finput-charset=utf8 などと書いても、「UTF-8に変換 できない」というエラーになることです。大文字ハイフン入りの「UTF-8」以外 受け付けません。 もしかしたらGCC自体が、テンプレートライブラリがUTF-8以外であることに対応 していないのでしょうか? http://echo.5ch.net/test/read.cgi/tech/1158991211/512
513: デフォルトの名無しさん [sage] 2006/12/26(火) 20:38:10 >>508 この辺を参考に http://search.gmane.org/?query=windows+unicode+gcc&group=gmane.comp.gcc.devel http://permalink.gmane.org/gmane.comp.gcc.devel/78542 >>512 インクルードファイルの中に他にも含まれていないか チェック。utility/enable_if.hpp とか $ iconv -l で使用できる文字コードは分かる http://echo.5ch.net/test/read.cgi/tech/1158991211/513
514: 508 [sage] 2006/12/26(火) 21:08:11 >>513 ありがとうございます。よく読んでいませんが、結局コードの変換ルールが問 題ということでしょうか。 grep -r Jaakko /usr/include/boost/ これで検索したところ66件ありました。他にもlatin-1の名前はあるかもしれ ません。さすがに直す気が失せました。 とりあえず、コンパイル前にiconvをかけることにします。いずれはUTF-8環境 に移行した方が良さそうです。 http://echo.5ch.net/test/read.cgi/tech/1158991211/514
515: 508 [sage] 2006/12/27(水) 00:25:09 http://permalink.gmane.org/gmane.comp.gcc.devel/78542 を読んで思ったのですが、どうやらUTF-8にすれば完全解決というわけではな いようですね。 g++ -finput-charset=EUC-JP こう書くと、GCCはソースファイルを、includeされるヘッダライブラリまです べてEUC-JPだとみなします。そしてそれを libiconv で UTF-8 に変換しよう とします。このとき(ヘッダファイルに)EUC-JPに含まれない文字コード (Latin-1など)があったらエラーになってしまいます。 g++ -finput-charset=UTF-8 (または-finput_charsetの指定なし) こう書くと、GCCはソースファイルを、includeされるヘッダライブラリまです べてUTF-8だとみなします。しかし今度は変換の必要がないので、libiconv は 呼ばれません。ヘッダライブラリも変換されません。 これで通常は問題はなくなるわけです。しかし、 ・ヘッダライブラリのエンコーディングがUTF-8でない。 ・ヘッダライブラリに wcha_tのリテラルがある。 (あまりないでしょうが、)この2つが同時に起こると、ライブラリは正しく 動作しません。 結局、すべてのヘッダファイルがUTF-8で統一されるか、Pythonのように各ソー スファイルにエンコーディングの宣言ができるようにしないと、完全解決とは 言えないようです。いずれも一ユーザにはどうしようもない話ですが。 Boostとあんまり関係なくてすみません。 http://echo.5ch.net/test/read.cgi/tech/1158991211/515
516: デフォルトの名無しさん [] 2006/12/27(水) 13:04:16 初心者的質問で申し訳ありません。 >>391でインストールするとき、最初に default variantsを選んでください って言われて、 Multithred Debug, DLL Multithred, DLL Multithred Multithred, static runtime Multithred, Debug, static runtime Single thred, static runtime Single thred, Debug, static runtime の中から選択させられるんですが、ノーパソ用ペンティアム3(1.13GHz)とノースウッドコアペンティアム4(3.2Ghz) の場合、どれを選べばいいんでしょうか。 マルチスレッデッィングとシングルスレッディング用CPUの違いくらいしか分からないので・・・ http://echo.5ch.net/test/read.cgi/tech/1158991211/516
517: デフォルトの名無しさん [sage] 2006/12/27(水) 14:35:53 Multithred/Single thredはCPUの問題じゃない http://echo.5ch.net/test/read.cgi/tech/1158991211/517
518: デフォルトの名無しさん [sage] 2006/12/27(水) 14:36:53 boostにはデバッグは特にいらないと思う。かなりでかくなるから。 DLLにするかどうかだけど、初心者ならスタティックでいいと思う。 あとはスレッドを利用するならマルチスレッド、しないならシングルスレッド。 シングルスレッドで速度を追求するならシングルスレッドだけど 通常はマルチスレッドでいいと思う。 http://echo.5ch.net/test/read.cgi/tech/1158991211/518
519: デフォルトの名無しさん [sage] 2006/12/27(水) 14:37:16 thred? http://echo.5ch.net/test/read.cgi/tech/1158991211/519
520: 518 [sage] 2006/12/27(水) 14:37:42 訂正 ×特に ○別に http://echo.5ch.net/test/read.cgi/tech/1158991211/520
521: 516 [] 2006/12/27(水) 14:45:12 ありがとうございます。 ではとりあえず Multithred, static runtime でインストールして使ってみます。 なお、参考までにお聞きしたいのですが、DLLにするとどういった使い方が可能になるのですか? http://echo.5ch.net/test/read.cgi/tech/1158991211/521
522: デフォルトの名無しさん [sage] 2006/12/27(水) 14:49:20 templateなlibraryにDLLもくそもないから気にするな。 http://echo.5ch.net/test/read.cgi/tech/1158991211/522
523: デフォルトの名無しさん [sage] 2006/12/27(水) 15:11:02 >>521 DLLの特長はここに書いてある。 http://e-words.jp/w/DLL.html 必要ならDLLを選ぶといいと思う。 http://echo.5ch.net/test/read.cgi/tech/1158991211/523
524: デフォルトの名無しさん [] 2006/12/27(水) 16:19:19 vc2005 sp1の現状 std;;wstring s = L"漢字"; // std::wcout << s << std::endl; //←ここをコメントアウトすると何もでなくなる std::wcout.imbue(std::locale("japanese") std::wcout << s << std::endl; //←出る std::locale::global(std::locale("C")); std::wcout << s << std::endl; //←出る よくわかんないけどMSの開発担当者はもっとまともなロケール実装者が来るまで正座な。 http://echo.5ch.net/test/read.cgi/tech/1158991211/524
525: デフォルトの名無しさん [sage] 2006/12/27(水) 16:22:23 boostとは直接関係ないけど、これ直ってないのか。なんのためのSPなんだか('A`) http://echo.5ch.net/test/read.cgi/tech/1158991211/525
526: デフォルトの名無しさん [sage] 2006/12/27(水) 20:10:24 >>524 とりあえずSTLport使っとくとlocale::globalの後に それぞれimbueすればちゃんと動くらしいよ。 付属のだとそれすら効かない。 std::locale loc("japanese"); std::locale::global(loc); std::wcout.imbue(loc); std::wcout << L"ぶーすと" << std::endl; http://echo.5ch.net/test/read.cgi/tech/1158991211/526
527: デフォルトの名無しさん [sage] 2006/12/27(水) 23:15:10 ublasでrankは求められなかとですかい? rank求めるのにlu分解は精度の問題で、一般には使われてないとか書いてるけど、 どの程度精度に問題でてくるんだろうね。 http://echo.5ch.net/test/read.cgi/tech/1158991211/527
528: デフォルトの名無しさん [sage] 2006/12/28(木) 12:41:32 ttp://www.page.sannet.ne.jp/d_takahashi/boost/ublas/index.htmlを参考にして ublasで逆行列を求めようとしているのですが、lu_factorizeの呼び出しでコンパイルエラーになります。 エラーメッセージが大量なので、ソースと一緒にアップローダに上げておきます。 ttp://zetubou.mine.nu/itoshiki/nozomu/zetubou3677.zip http://echo.5ch.net/test/read.cgi/tech/1158991211/528
529: デフォルトの名無しさん [sage] 2006/12/28(木) 13:06:13 実行時エラーなら出るがコンパイルエラーは出ないな。 VC8SP1 + Boostは11月の頭にCVSから F:\>cl -nologo -EHsc -ID:\Boost inv.cpp inv.cpp F:\>inv.exe Check failed in file D:\Boost\boost/numeric/ublas/triangular.hpp at line 2435: e1 () (n, n) != value_type () This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. F:\> http://echo.5ch.net/test/read.cgi/tech/1158991211/529
530: デフォルトの名無しさん [sage] 2006/12/28(木) 15:50:10 November 28, 2006 - Function Types Accepted http://echo.5ch.net/test/read.cgi/tech/1158991211/530
531: デフォルトの名無しさん [sage] 2006/12/29(金) 19:50:03 VC7 でserializationのlib出きへんのやけど なんか必要? http://echo.5ch.net/test/read.cgi/tech/1158991211/531
532: 528 [sage] 2006/12/29(金) 20:29:50 boostを1.32.0に入れ替えてみたところコンパイル出来ました。 実行時エラーは、おそらく係数行列を適当に設定したため発生したのだと思います。 係数行列を参考サイトと同じ行列にしたところ、同様の結果が得られました。 ublas使う時だけ1.32.0で行くことにします。ありがとうございました。 http://echo.5ch.net/test/read.cgi/tech/1158991211/532
533: デフォルトの名無しさん [sage] 2007/01/03(水) 10:46:57 >>3にリンクされてるPOCOって使ってる人いる? 今日落として試してみたんだけど、SampleについてるEchoServerの挙動が 微妙におかしくて…… 原因は一応分かったのだが、英語力が無いからまっとうなバグレポ 送れにゃいよ。 http://echo.5ch.net/test/read.cgi/tech/1158991211/533
534: デフォルトの名無しさん [sage] 2007/01/03(水) 14:13:46 >>533 英語力ないからって言ってると永遠に身につかないよ。 バグレポなら状況を箇条書きにして送るだけでも大丈夫、ただし返信が来たらしらない(w http://echo.5ch.net/test/read.cgi/tech/1158991211/534
535: デフォルトの名無しさん [sage] 2007/01/03(水) 14:59:14 >>534 そうだよなあ。 とりあえず、がんがって次のようなバグレポを書き込んだ。 意味が通るかどうかは全く自信が無いw Hello. I'm a Japanse, so please forgive my poor English. When I tested "EchoServer" sample, I found that it doesn't send back FIN to the client when the client sends FIN to the "EchoServer", by calling shutdown(). This is because "EchoServer" doesn't call close() function for this socket. Why is that? Poco::Net::StreamSocketImpl is refcounted, and close() is called when it is really destructed. I found that Poco::Net::SocketReactor's member, _pReadableNotification, _pWritableNotification, etc. holds Poco::Net::Socket instance, until next socket event arises. So, until then, refcount remains 1, and close() is never called. In Poco::Net::SocketReactor::run(), member function dispatch() is called for each socket. I think, after that, the socket which is held by _pReadableNotification, etc. must be immediately cleared, so Poco::Net::StreamSocketImpl's refcount will be 0, and close() will be called. http://echo.5ch.net/test/read.cgi/tech/1158991211/535
536: デフォルトの名無しさん [] 2007/01/04(木) 13:26:47 boost の program_options で言及されているレスポンスファイル に関する機能って、以前は configuration file って呼ばれていた ものですか?単に呼び方が変わっただけですか? http://www.boost.org/doc/html/program_options/howto.html#id2715898 http://echo.5ch.net/test/read.cgi/tech/1158991211/536
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 465 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s