この記事は↓に移転しました。 laysakura.github.io
この記事は↓に移転しました。 laysakura.github.io
Linuxで共有ライブラリ(*.so)を作るようになったのでちょっと勉強してみた。今までは使うだけだったので、以下のようなことは知っていた。作るときはgccの-sharedオプションを使う。使うときはgccの"-lライブラリ名"でリンクするライブラリを指定する。リンク時のライブラリ探索パスは-Lオプションで指定する。実行時のライブラリ探索パスは/etc/ld.so.confに書いてあるディレクトリ。環境変数LD_LIBRARY_PATHでも指定可能。ライブラリを作るときは、.cから.oを作るときに-fPICをつけるといいらしい。新しくライブラリを入れたときはldconfigするといいらしい。逆に今まであまり知らなかったこと。ほとんどのライブラリはlibhoge.so, libhoge.so.1, libhoge.so.1.1のように3つくらいのファイルがあり、libhoge.soやlibh
openFrameworksとは - 歴史と特徴 openFrameworks (オープンフレームワークス) は、C++で記述された「クリエイティブなコーディング」のためのオープンソースのツールキットです。Mac OSX、Windows、Linuxで動かすことが可能で、iPhoneやiPadなどのiOSのデバイス上で実行することも可能です。openFrameworksは、2Dや3Dのグラフィック、動画やアニメーション、音声など、様々なメディアを簡単に扱うことが可能なため主にメディアアートやインタラクティブなメディアで活発に活用されています。 開発の歴史 openFrameworksは、2004年にアーティストでありプログラマーでもあるZach Liebermanが、ニューヨークにあるパーソンズ大学の大学院で教鞭をとっていた際に、アートを学ぶ学生のための作品制作ツールとして開発されました。彼
インターネットの普及に加えて、リッチクライアント/RIAの発展とともに、アプリケーションの形態は、C/S(クライアント/サーバ)システムから、Webアプリケーションシステムにシフトしています。一般の情報発信システムだけではなく、企業の基幹情報システムまで、盛んにWebアプリケーションで構築するようになりました。 この変化の主役であるといわれる、Java技術は、Webアプリケーションシステムの発展とともに、ネットワークの親和性や、プラットフォーム適用の多様性で、広く受け入れられて、Webアプリケーションシステム開発の基盤技術になっています。 これまでのC/Sシステムでは、サーバロジックはC/C++で実装されるケースが一般的でした。C/SシステムからWebアプリケーションシステムにシフトする際に、Java技術を導入することを決めた場合、Java技術で、すべて新規開発するのは1つの選択肢ですが、
Boost C++ Libraries ...one of the most highly regarded and expertly designed C++ library projects in the world. — Herb Sutter and Andrei Alexandrescu, C++ Coding Standards Welcome to Boost.org! Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a br
今まで自分が見つけたコンピュータビジョンの研究に役に立ちそうなフリーのライブラリやソースコードをまとめてみました。自分ではまだ使っていないものも多いので、そこはご容赦を。主にC/C++が中心です。 またライブラリ形式でない、いわゆる学会で発表した研究のコードをそのまま公開しているという人がたくさんいて、それに関しては特にメジャーなもののみ紹介しています。なにぶん僕の観測範囲は限られてますので、「このライブラリに触れないのはおかしい」、「説明が間違っている」等、ご意見大歓迎です。 定番(Standard) OpenCV 定番中の定番です。コンピュータビジョンに関して広範なアルゴリズムが実装されています。 http://code.opencv.org/projects/OpenCV/wiki/WikiStart Point Cloud Library 3次元点群データを扱うならこれ。Kinec
分散KVS kumofs のコードは、全体で約2万行です*1。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行*2で、全体の約半分を占めています。 ロジックは残りの半分*3だけで実装されています。 この実例から分かりますが、kumofsのような分散アプリケーションを開発するにはI/O周りの実装が大変で、とてつもなく大きな障壁になっています。*4 さらに今日では、性能を稼ぐためにマルチスレッド化が必須です。また、多数のクライアントを少ないリソースで効率よく相手にするには、非同期・イベント駆動型のアーキテクチャも必要になります。さらに、究極的な性能を達成すべく GC を利用しない C++ においては、実装のみならず設計も大変です。 これに加えてソケットAPIの難解な挙動に対処にしなければならないため、C言語やC++によるネットワークプログラミングは、vimの使いこなしなどと同
そういえば C++ のヘッダファイルを #include するだけで使える GC を書きました。使い方は下のサンプルコードを見てもらえばいいとして、特徴としては、 ヘッダファイルを #include するだけで使える C++ の標準機能だけを使っているのでポータブル*1 mark-and-sweep, precise GC ってなあたりでしょうか。コードは GitHub - kazuho/picogc: a tiny, portable, precise, mark-and-sweep GC in C++ にあります。 C++ のプロジェクトで、ちょっとここだけは GC がほしいんだけど、ってなケースで使いやすいと思います。速度も、そこそこでるんじゃないかな*2。 というわけで、以下、サンプルコード。軽く説明しておくと、 GC を使うクラスは picogc::gc_object を継承する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く