Boost.Interprocess Boost.Interprocessは,次のような用途に使います. 共有メモリ メモリマップファイル セマフォ,ミューテックス,条件変数,共有メモリやメモリマップファイル上のアップグレード可能なミューテックス型 名前付したこれらの同期オブジェクト型.UnixやWindowsのsem_openやCreateSemaphoreAPIに似たもの. ファイルロック 相対的な位置 メッセージキュー Boost.Interprocessは,さらに高レベルな仕組みを提供しています.この仕組を用いれば,STLのコンテナのようなものを簡単にメモリ上につくることができます. 共有メモリやメモリマップファイル上の匿名,もしくは名前付られたオブジェクトの動的な作成 STLのようなコンテナで共有メモリやメモリマップファイルに互換性のあるもの STLのようなアロケーターで,様々
書籍転載 文法からはじめるプログラミング言語Microsoft VisualC++入門 VisualC++でマルチスレッド・プログラミング ――第13章 並列処理~マルチスレッドプログラミング(後編)―― WINGSプロジェクト 矢吹 太朗(監修 山田 祥寛) 2010/04/28本コーナーは、日経BPソフトプレス発行の書籍『文法からはじめるプログラミング言語Microsoft VisualC++入門』の中から、特にInsider.NET読者に有用だと考えられる章や個所をInsider.NET編集部が選び、同社の許可を得て転載したものです。基本的に元の文章をそのまま転載していますが、レイアウト上の理由などで文章の記述を変更している部分(例:「上の図」など)や、図の位置などを本サイトのデザインに合わせている部分が若干ありますので、ご了承ください。『文法からはじめるプログラミング言語M
Boost.勉強会 -ATND 12/12(土)にグリー株式会社様のセミナー会場をお借りして Boost.勉強会を開催しました。id:sotarokさんありがとうございました! 【発表のまとめと感想】 ・Boostライブラリ 一周の旅(id:faith_and_brave, @cpp_akira) Boost 1.40.0に含まれるライブラリのうち、74ライブラリを紹介し、 それに加えて「一分でわかるテンプレートメタプログラミング」というのを話しました。 (1分以内には終わらなかったのと、もうちょっとじっくりやりたかったです。) 今回の勉強会ではじめてBoostを知った、という方にはBoostを使い始めるきっかけと なっていただければ幸いです。 反省点としては、1時間セッションの予定が気づいたら40分もオーバーしてしまっていたことですね。 解説するライブラリが74個もあったというのはあり
Boost の一部ながらも「実用的」すぎるため、とかくテンプレートメタプログラミングを愛好する諸兄から黙殺されてきた不幸のライブラリ、Boost.Python。Boost.勉強会でこいつの魅力を伝えようと思ったのだけど、時間の都合で無理だったので、簡単に紹介してみたい。 Boost.Python の基礎 Boost.Python はC++ のクラスや関数をラップするPython モジュールを恐ろしく簡単に書けるようにする、強力なライブラリである。 特に、Pyrex や Cython と比べて何がうれしいのかというと、Python側にいちいちラッパ関数を書かなくてよい (テンプレートにより自動的に定義される) コンバータを登録することで、Python⇆C++の型の透過的な変換が容易にできるC++ のクラスを分かりやすい形でPython のクラスとして見せることが可能 といった点が挙
Smart Pointers というか主に shared_ptr ですが(scoped_ptr のこともたまには思い出してあげてね!)。 恐らくは散々ガイシュツなネタですが、まー「検索するのが面倒だ」って人の手助けになればいいかと思います。僕も検索するの面倒ですし。 というかこの記事書いてるときもロクに検索してないです。間違いとかあったらすみません。 疑問点とか有りましたら、自分で調べるか、あるいは僕に知らせてもらえると助かります。では、始めましょう。 [最終更新] 応用例にカスタムアロケータでの参照カウント管理を追加: 09/12/16 基本的な使い道 まず基本的なことについては、僕が説明するより、この動画を参照した方が速いでしょう: http://www.ustream.tv/recorded/2981654 それに対するついったーでの突っ込み: http://kiwofusi.sa
本記事は、筆者がプログラミング言語C++を用いてソフトを開発している際に遭遇した問題と、その解決までをまとめたものです。 現在のC++プログラミングでは、多くの場面でBoostライブラリを利用します。今回筆者は、動的なオブジェクトのライフタイムを自動的に管理するためにboost::shared_ptrおよびboost::weak_ptrを、オブジェクトを保存・復元するために、boost::serializationのライブラリを利用しました。そこで予想外の問題に遭遇し、Boostにバグ報告し、解析を行い、最終的にパッチを送り、それが採用され、本線にマージされることになりました。その過程で、普段利用しているだけでは意識することのない、Boostライブラリの実装の工夫を垣間見ることになりました。そのあたりの情報も交えながら、いったいどんな問題にぶつかり、どうやって解決したのかを紹介したいと思い
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く