- 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/
- 858 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:06:42.94 ]
- min
max
- 859 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:27:50.00 ]
- >>857
swapって名前標準ライブラリーにあるの?
- 860 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:29:27.19 ]
- あぁalgorithmにあるのか。使ったこと無かったわ。
- 861 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:29:55.03 ]
- 嘘だろ…
- 862 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:34:09.02 ]
- iostreamをインクルードするだけで使えるというのに・・・。
- 863 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:44:50.77 ]
- >>859
名前だぞ名前。 クラスのメンバーにも等しく適用されると何故わからないんだ。 多くの標準ライブラリのクラスがswapという名前のメンバーを持っているのを知らないのか。
- 864 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 00:11:46.32 ]
- >>858
MSは禿にごめんなさいしないといけないよね
- 865 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 03:25:04.66 ]
- C++にテンプレートが無い様な時代から既に用意されてたんだから
後出しのハゲが謝りお願いすべき
- 866 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 03:49:30.66 ]
- 小文字が入ってるマクロ名は紛らわしいから
コンパイラが警告吐いてくれたらいいのにな
- 867 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 07:22:59.71 ]
- assertみたいなマクロ実装関数で警告が出ることになるか
ところでassertをキーワードに昇格させて定数式なら コンパイル時エラー出す設計にはできなかったのかな そうするとstatic_assertと書き分けなくて良いような気もするけれど
- 868 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 12:13:03.95 ]
- 例によってCとの互換性が
- 869 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 12:38:53.66 ]
- staticの方はともかくassertってあんまし使わなくねーか?
- 870 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 12:38:56.08 ]
- iOS開発でObjCのコンテナクラス類使わずにどうもSTL/boost多用してしまうんだけど
果たしてこれはよくないのかどうか・・・
- 871 名前:デフォルトの名無しさん [2012/02/16(木) 15:37:52.34 ]
- threadのwaitってどこのサイトみても
… while(!ready) { cond.wait(lock); } … のようになっていますよね。これを起こす場合には ready = true; cond.notify_all(); とすると思うのですが、while分の!readyを判定してからcon.waitをかけるまでの間に上記の起こすコードが呼ばれた場合には、動かなくなってしまう気がします。 これを回避する方法などあるのでしょうか。timed_waitでしょうか。
- 872 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:47:36.71 ]
- >>871
cond.wait(lock);でロックを要求している素晴らしい設計を無視するなよ
- 873 名前:デフォルトの名無しさん [2012/02/16(木) 19:01:27.73 ]
- >>872
ありがとうございます。 よくよく考えてみるとwhile文の前と起こすコードの先頭でミューテックスをロックすればいいんですね。 今まで引っかかっていたものがスッキリとれました!
- 874 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 21:10:13.56 ]
- >>872,873を理解するまで1時間かかってしまった
- 875 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 18:51:24.80 ]
- 1.49出たのに反応なしか
- 876 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 01:31:34.53 ]
- 小学生並みの発想だな
- 877 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 14:05:48.47 ]
- 中学生並みの反応だな
- 878 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 21:26:03.54 ]
- 大学生並の考察だな
- 879 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 22:17:31.08 ]
- 院生並の皮肉だな
- 880 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:36:14.79 ]
- 社会人並みの判断だな
- 881 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 23:51:07.07 ]
- 年金生活者は余裕だな。
- 882 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 00:00:44.76 ]
- 病院生活並の苦労だな
- 883 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 09:58:05.77 ]
- 世捨て人並の達観だな
- 884 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 18:03:57.16 ]
- 銀河皇帝並みの独断だな
- 885 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:18:09.27 ]
- 原子核級の大志だな
- 886 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 14:27:31.51 ]
- 風俗嬢並の偏屈だな
- 887 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:11:07.28 ]
- 俺並みの性欲だな
- 888 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:46:18.10 ]
- 風説の流布
- 889 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 02:29:45.81 ]
- 痛風の呂布
- 890 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 09:45:46.39 ]
- 風呂の風俗
- 891 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 18:41:57.17 ]
- 温泉の効能
- 892 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 20:16:36.14 ]
- 駄レスがスレをboostする!
- 893 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 23:11:17.86 ]
- 歌舞伎町の893
- 894 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 23:36:25.70 ]
- ゲスの極み
- 895 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 23:45:41.65 ]
- お肉の厚み
- 896 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:07:56.91 ]
- boostってC++11の要素は取り込みはじめてるの?
- 897 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:33:35.99 ]
- C++11がBoostを取り込んだの間違いだろ
Boost.Moveのことなら知らん
- 898 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:37:49.12 ]
- Boost.Chrono とかは C++11 からの逆輸入。
- 899 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:49:09.56 ]
- 既存コンパイラで動くようにしてくれてるならいいことだ
- 900 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 00:46:51.29 ]
- ◆ 便利な今までに出た風説の流布一覧
伝説の流川 伝説の呂布 解説の掛布 風疹の漁夫 ふーてんの流浪 妖鳥の流布 入れ墨の鯨布 風の谷の呂布 骨折に湿布 聖教新聞の配布 電設の鈴木 通風の湿布 テンセルの毛布 テンソルの分布 ピンサロの主婦 風雪ながれ旅 風雪の露天風呂 風俗で炉利 風俗の幕府 風てんのトラ 温泉の掛川 風の谷のナウシカ 季布の一諾 空席の椅子 秀策の棋譜 特攻の拓 ピンフの20符
- 901 名前:progress_display mailto:sage [2012/03/19(月) 23:18:49.04 ]
- 最近おれっちの話が出来ていないが、C++11先取りしておれっちを実装するコンパイラってまだ出てきてないの?
- 902 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:20:56.52 ]
- serialization を使ったときに、exe ファイルにいろんなシンボルがエクスポートされるのを防ぐ方法ってないでしょうか?
- 903 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 11:34:46.67 ]
- 仕様です
- 904 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 06:51:48.14 ]
- >>901
あれ、あなた風の噂で左遷されたって噂を聞いてたけど・・・?
- 905 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 19:36:20.60 ]
- boost::optional<int> test () { return 1; }
void func { if (auto i = test() && i.get() != -1) { return ; } } これコンパイル通らないけどどうして?
- 906 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 20:00:01.39 ]
- funcの定義
- 907 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 20:16:53.92 ]
- void func () {
↑
- 908 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 21:59:09.93 ]
- >>905 エラーメッセージ見ろよ。
- 909 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:58:06.25 ]
- >>906-908
そこじゃなくて >if (auto i = test() && i.get() != -1) { 俺が言いたいのはこっちのほうだった auto i = test()この段階で初期化されてるはずなんだけどどうして無理なんだろう
- 910 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:05:06.21 ]
- >>909
規定された条件部の文法↓にマッチしないから。 condition: expression attribute-specifier-seq/opt decl-specifier-seq declarator = initializer-clause attribute-specifier-seq/opt decl-specifier-seq declarator braced-init-list
- 911 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:25:55.07 ]
- >>910
そもそも規格上無理なのね ありがとう
- 912 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 16:18:52.52 ]
- テンプレートクラスのメンバ関数を、
boost::threadとboost::bindで呼び出して、別スレッドで動かしたいのですが うまくいきません。ご教授願います。 template<class T> class TestClass : public T { public: TestClass(void) : T() {} }; class TestBase { public: void print(TCHAR *str){ cout << str << endl; }; }; typedef TestClass<TestBase> MyTestClass; int _tmain(int argc, _TCHAR* argv[]) { TCHAR *char str = _T("test"); MyTestClass myTestClass; myTestClass.print(str); // 正常に動作 boost::thread myThread(boost::bind(&MyTestClass::print,str)); // ←コンパイルエラー // c:\Program Files\boost\boost_1_47\boost\bind\mem_fn.hpp(333): error C2296: '->*' : 無効な左オペランドです。 }
- 913 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 17:52:34.92 ]
- >>912
boost::bindでクラスのメンバ関数ポインタを拘束した場合、第一引数はそのクラスのインスタンス(かインスタンスのポインタとか)になる boost::bind(&MyTestClass::print, myTestClass, str)
- 914 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 18:08:58.52 ]
- >>913
ありがとうございます。無事にコンパイルが通りました。
- 915 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 19:19:10.20 ]
- boost::threadを使って、メンバ関数ではなくて、
クラスそのものを別スレッドで動かしたい場合は、どのように指定すればよいでしょうか?
- 916 名前:915 mailto:sage [2012/04/21(土) 20:04:05.95 ]
- boost::threadに渡せるのは関数ポインタだけなのかな?
boost::threadにクラスのコンストラクタを渡せば、そのクラスは別スレッドで動いてくれるのかと思ったけど 勘違いでしょうか?
- 917 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 20:54:52.22 ]
- クラスが動くってなんだ?
・・・って関数オブジェクトのことか? 関数オブジェクトのインスタンスを渡せばそのoperator()を別スレッドで実行させることはできる
- 918 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:32:08.83 ]
- >>916
具体的にどんなコードを書きたいのかここに出したほうが良いと思う。
- 919 名前:915 mailto:sage [2012/04/21(土) 21:36:19.05 ]
- ウインドウクラスをクラス化したので、
そのクラスを別スレッドにして、プロシージャなどの処理をしたかったんです。 とりあえず、グローバル関数作って、その中でクラスのインスタンスを作って、 boost::threadでそのグローバル関数を呼び出す形にしてみました。 いちいち関数を作るのも面倒なので、無名関数でやってみようかな。 無名関数使ったことないけど。
- 920 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 02:06:07.47 ]
- JavaやFlashで使われている、イベント/リスナーをC++で実現したいのですが、
boostを使ってできますでしょうか?
- 921 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 02:13:52.12 ]
- >>920
イベントはシステム側の要求でとある時に「この処理をどうします?」ってプログラマに聞くことなのでそれは可能。 で、リスナは結局デリゲートかなんかに処理をキックする機構なので、 例えばバインドなどでインスタンス関数をイベントに渡したりしたとして、そのインスタンスの寿命がなくなって無効になるタイミングをコントロール出来れば可能だろう。 と、言うわけでできなくは無いけど、GC無いからそこをどうにかしないと難しいと思う。
- 922 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 18:39:55.58 ]
- boost::graphについて質問です。
例えば、RPGゲームのマップ移動の最短経路を求めたいとします。 ただしマップを通過できるかどうかは条件があって、 ・一定のキャラクターレベルを超えていないと通れない ・特定のアイテムを所有していないと通れない などの条件があります。 私の考えたチープなやり方では、propertyでマップノードごとにRequireLevel、RequireItems などを持たせて、 レベルによってグラフノードの書き換えをする関数、 DisableGraphByLevel(graph,characterInfo); アイテムの有無によってグラフノードの書き換えをする関数、 DisableGraphByItem(graph,characterInfo); などを処理してから、グラフに対して最短経路アルゴリズムを実行するという形です。 ただ、これだと処理後に毎回グラフを元に戻さないといけないし、 条件がより複雑なものが追加されるとこの形では対応できません。 それに第一、スマートではありません。 boostっぽく処理するにはどのように設計すればよろしいでしょうか?
- 923 名前:やんやん ◆yanyan72E. mailto:sage [2012/04/26(木) 02:13:10.40 ]
- www.boost.org/doc/libs/1_49_0/libs/graph/doc/dijkstra_shortest_paths.html
これの、distance_mapとか、distance_compareとかdistance_combineとかを うまく定義すれば、グラフを書き換えなくても望みの動作をさせられるんでない?
- 924 名前:922 mailto:sage [2012/04/27(金) 14:45:37.73 ]
- >>923
ありがとうございます。参考にして見ます。 boostを使うだけでなく、boostの中身を理解して、自分でアロケーターだとか イテレーターとか作ってみたいと思っているのですが、 やんやんさんのように高度に詳しくなるには、どういった書籍やサイトがお勧めでしょうか? よろしければ教えてください。
- 925 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 18:41:03.11 ]
- document嫁
- 926 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:27:30.41 ]
- >>905
if (auto i = test() && i.get() != -1) { ↓ auto i = test() && i.get() != -1; ↓ auto n = test() && i.get() != -1; auto i = n; 多少構文をばらしてみれば無理なの解るだろ
- 927 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:29:18.96 ]
- >>920
boost::functionとboost::bindと、なんかブロードキャストするクラスか なんかがあったから、それ組み合わせりゃ楽にできるよ
- 928 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:43:36.06 ]
- >>924
興味があるところから入っていって、もっと知りたいと思ったら勝手に詳しくなるもの
- 929 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 23:47:34.23 ]
- >>920
boost::signals2はどうだろ
- 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のやり取りするだけじゃん?
|

|