2011-01-01から1年間の記事一覧
前々から凄い意味が分からなかったんですが、コンソールでエラー内容を見れるようにしてようやく分かりました。DirectX側でFPUの演算速度が落とされていたからだそうです。空想具現化プログラミング [Lua] Luaの数値型の精度の問題ここによると、FPUの演算速…
Boost.勉強会 #7 東京 - boostjpと言う訳で行ってきました。 発表してしまいました。 当初発表する予定なんて無かったんですが、そういえば ネタ帳 - boostjp に書かれていたり、1時間も余ってるし、Boost.Interprocess使ったことない人が多いそうだしでサプ…
ものすごく面倒でしたがメモ。 LPDIRECT3DDEVICE9を取得したい 上のを読むと、ライブラリだけでは無理で、ソースファイルに添付されるヘッダがないと取得できないらしい。 というわけで、ダウンロードサイトからライブラリとソースコードを取ってくる。 DX…
MinGW使って色々やろうと思ったらboost.threadをスタティックリンクできなくて涙目になったのでメモ。 boost.threadのdetailの中に入ってるconfig.hppを弄る方法もあるようなのだが、普通にBOOST_THREAD_USE_LIBを定義しておけばビルドできるそうなのでg++の…
前回の記事の疑似クラス版。 luabind::objectはもちろんテーブルを受け取れるので疑似クラスも扱えます。テーブル内の関数や変数を見つけるのはoperator[]で可能です。 #include <lua.hpp> #include <lualib.h> #include <luabind/luabind.hpp> int main() { ::lua_State* L = ::lua_open(); ::luaL_o</luabind/luabind.hpp></lualib.h></lua.hpp>…
もしかしたらできるんじゃないの?と思ったらやはりできたのでメモしておきます。 Luaさんに処理の一部分を書いて貰いたい場合、名前が必要な通常の関数はめんどいです。その名前が無きゃ呼び出すのめんどそうです。後名前が干渉してどうこうとかありそうで…
というレベルではないですが Boost.Property_treeで暗号化したiniファイルを読んでみる - 名古屋313の日記 で暗号化を行うのに一度バッファを作って取るのが面倒だなあ、と思ったのでこれはBoost.ipcのメモリマップドファイルの出番ではないかと思いちょ…
先週の土曜日の話だからまだ大丈夫ですよね。という訳で行ってきました。結構早めについたのでガラガラかなーと思ったらid:nyaocatさんがすでに居ました。早い。 まあ確かにがらがらでしたよね。10時なってましたけどまず発表者の大半が居ない…だと?でもTwi…
boost.ネタ帳を見ていたらCinderというのがあって気になってググったら結構面白そうなアーティスティック制作系のライブラリのようです。インタラクティブ性も含んでいたりします。入門は以下。なんですがこれMacの話です。 クリエイティブなC++ライブラリ "…
XAPOクラスにはCLSID(COMクラスID)が必要です。なのでVisualStudioの機能が使える人はそれで生成してVS用の特殊なプロパティを書いてCLSIDとの対応付けをして…と面倒この上作業を必要とします。がしかし、これは実は必要ないかもしれません。 というのもCLSI…
こっちは今までやったことないので今のうちに記録しておく。 FLACのビルドにはNASMが必要です。これは The Netwide Assembler: NASM で取ってきてもらいます。VisualStudioではどうもnasm.exeでなくnasmw.exeを使うとするので*1コピーしてnasmw.exeを作って…
毎回ビルドするときに調べるのがしんどいので、メモ書きをしておきます。Xiph.org: Downloads からlibogg-とlibvorbis-と書かれたファイルを保存して解凍します。 この名前はから - をすべて切り取り、liboggとlibvorbisというフォルダ名にします。 後はVisu…
luabind/tag_function.hppが内部でイテレーションでNとNPLUS1をdefineしています(75行目、76行目)が、undefされてません。85行目あたりに以下のコードを埋めておく。 // luabind/tag_function.hpp ... #undef NPLUS1 #undef N
現在Luabindを用いて部のゲームプログラムにLuaを持ち込んでいますが、クラスをバインドすることも多いです。で、クラスのメンバ関数のバインドコードがオーバーロードされているとき非常にめんどくさくて投げたくなるのは仕方がない。 struct drawable { vo…
boost.ipcのManaged Memory Segmentsで動的多態を演じたい場合、destroy(_ptr)を呼び出す際、作成時の型を指定する必要があります。つまり抽象クラスの型を指定して、抽象クラスのポインタを渡して、削除することはできません。 namespace ipc = boost::inte…
いや、まさかこうなるとは思ってなかったのでメモ。Managed Memory Segmentsはconstructしたオブジェクトをdestroyする必要があります。これはconstruct方法によっていろいろ選べます。例えばnamed instanceとして作成した場合、destroyを使って名前を指定し…
今日は特にネタがなかったので、Managed Memory Segmentsが提供してる機能をいくつか書いておきます。とりあえずManaged Memory Segments上のお話なので前提条件を書きます。変数名はmm_segmentsで、オブジェクトは自動で削除されます。ちなみに、ドキュメン…
ただの記事リストです。01:boost.interprocessさん凄いです - krustf の雑記 02:しばらくboost.interprocessネタで書いていこう。 - krustf の雑記 03: 04:vectorstreamの話 - krustf の雑記 05:bufferstreamの話 - krustf の雑記 06:STLもmanaged上な…
Managed Heap MemoryがBoost.interprocess Document P.90に書いてあります。これはstatic buffer領域を必要とせず、予めヒープ上のメモリを確保して利用する形だそうです。使い方はManaged Heap Memoryと同じで構築方法が異なります。 例えば、自前でヒープ…
久しぶりに更新。Boost.interprocessの話です。またもやドキュメントパラパラ見てたら結構使えそうなやつが出てきたのでメモ。 Managed External Buffer "様々な状況でSimpleなオブジェクト、STLと同じようなコンテナや文字列、 あとは何かしらのバッファが…
たまにはXAudio2とその関係のお話でもします。 XAPO? XAPOFX? というか今までXAPOが何か、という話を真面目にしてなかったような気がするのでそこから話します。XAPOとはXAudio2と連携して利用するオーディオ処理オブジェクトを作成する手段を提供するAPI…
ついつい見落としてましたが、interprocessはmulti_indexなどのinterprocess外ですがBoostのライブラリとして提供している一部のコンテナもmanaged memory segmentsを使って作成できるようです。ドキュメントに書いてあるのはmulti_indexとunordered_mapの2…
wxWidgetsというクロスプラットフォームなウィジェット・ツールキットを前に聞いてインストールすらしてなかったのでインストールのメモ。といってもまだ調べて切れてないのですが…。 公式はwxWidgetsここで、Downloadsから肝心なソースは引っ張ってこれます…
interprocessには"named mutex"という名前付きMutex Objectを作成して複数のプロセス間で排他制御を行える機構があります。recursiveなMutexなどありますが、多分interprocessとして特徴的な機能だと思いますので紹介。作り方と最終的な削除方法が面倒ですが…
[注意] この記事は間違っている可能性が高いですできるのかなーと思っていたんですが、managed上であればsegment_managerを使用したアロケータを作成すればSTLコンテナをそのまま利用できるようです。(じゃあなんで同じようなコンテナがboost.interprocess内…
Boost.Buildで名前を変更する方法がよくわからなかったのでいろいろ調べてたらなんとなく理解できたのでメモ。プロジェクトの設定でtagプロパティに名前を設定するruleを与えて、そのrule上で名前を返却すれば良いようです。commonモジュールを使って生成し…