2012-01-01から1年間の記事一覧

仮想マシンでXen+NetBSD Dom0遊ぶ

しばらくDomUの準仮想化OSをインストールしていない。 こうする理由は特になかった。タイトルの言う、遊び。まずはVMWare Playerの仮想マシンにNetbsd 6.0/i386をインストールする。 この段階は簡単です。普通のOSインストールと特に何か違いはない。イン…

Linuxでkernelを再構築せず自分のシステムコールを追加(偽)する

最近、仮想記憶システムを勉強するためCR3レジストとページテーブルをアクセス必要がある。 Ring3でアクセスできないので、OSのカーネルにする。しかしどうするとカーネルに入れるのかなって。 ネットで検索して、Linuxで一番簡単な方法はカーネルモジュー…

Boost.Spirit.Qiで自作int型パーサーの使用

Boost.Spirit.Qiはパーサー作成のライブラリです。 このライブラリの説明書に、主に文字列の解析で説明した。 ほかの型も解析できると思うが、今試した。int型の解析器で練習してた。いろいろの問題に会ったが最後にできた。まず、基本のパーサーを作る。Qi…

C++でスタックでメモリ確保

C++

動的配列を作るとき、普段でnewとかmallocとか使う。 それはヒープからメモリブロックを取得するのです。 小さいメモリブロックを取得する時、性能的にスタックから取得より低いと思う。スタックからメモリブロックの取得は、allocaと言う関数がありますが、…

mciSendStringでMP3再生するときID3v2のせいで起こる遅延の計算(C++コード付き)

昨日言ったこと。 自分で書いた計算のC++コードは大体この感じ double CheckMp3_mciSendStringWorkAround(std::istream& mp3file) { char id3[3]; mp3file.read(id3, 3); if(mp3file.gcount() != 3) throw MyException("Fail to read id3v2 tag"); if(std::e…

Jubeat Analyzerとmp3ファイル

一応Jubeatプレイヤーです。最近Air Raid From Tha Undaground通れなくて困ってる。 JubeatクラスタにJubeat Analyzerはすごく有名なツールです。TXT形式の譜面スクリプトを再生できる。まるでゲーセンのユビートと同じです。譜面確認とかすごい便利なツール…

.netでGDI+の使用とガベージコレクション機能

Jubeat Analyzerは譜面動画のフレーム出力機能があります。 そして私はニコニコとかの動画サイトで数字付くの譜面動画を見たことがある。その数字はどう追加するのだろう。キーワードとかわからなくてネットで検索して役に立てる情報出ていない。譜面情報を…

昨日書いた文字列コード変換のこと・・・

C++

mbstate_t state;と書いたよね。それじゃだめです。 よくみると、このmbstate_tはただのintです。 構造関数がありません。 ローカル変数なので初期化しなければならない。 おかしい変換結果になるよ。 だからmbstate_t state = 0;と書けばいい。デフォルトの…

C++で文字列コードを変換する

C++

最近、jubeat analyzerの譜面からyubiosiの譜面への変換機を作った。 その中に、文字列コードの問題に会った。jubeat analyzerの譜面は、Shift-JISコードのテキストファイルだ。 私の使っているOSは中国語のだ。だから読み込んだ文字列は化けになる。ネッ…

STLのコンテナで自作のallocatorを使う

C++

特に理由もなく、突然自作allocatorをSTLコンテナ、文字列で試したいです。STLで、デフォルトのstd::allocatorがある。vectorを使う時、allocatorを指定しなかったらそれを使う。 VC2010のSTLのvectorヘーダに、こういうコードがある template<class _Ty, class _Ax = allocator<_Ty> > class vecto</class>…

SilverLightで動画エフェクト使用

昨日退屈なのでSilverlightで何かを試しようと思った。 なんというかネットで検索して動画エフェクトのブログとかいっぱい出る。 しかし理解しにくい。XAMLによく知らない私にいきなりxxx.Resourceで動画追加とか流石に。 いろいろ探して、自分を試して、C…

PortAudioの低遅延について

リアルタイムの要求はちょっと厳しい場合、 私はPortAudioのDirectSound HostAPIを使う (PortAudioのコンパイル時DS以外全部禁止した)しかしそれでも遅延が長いようだ ネットで検索して、 http://www.portaudio.com/docs/latency.html ←これは出った。変数…