C++
1. 現状 1.1. OBS複数起動 1.2. OBSの録画機能を使ってURLに出力する 1.3. nginx-rtmpで自前中継サーバーを立つ 1.4. Restream.ioのサービスを利用する 1.5. OBSの代わりにXSplitを利用する 1.6. RtmpRelayerを利用する 2. 自作プラグイン 2.1 …
久しさ記事を書いた。 最近デレステを遊んだ。私は大学生のときから音ゲーに興味が起こる。 そしてネット友はデレステのスクリーンショットを見てくれたあと、始めた。ユビート遊んだとき、Jubeat Analyzerというツールがあるが、デレステにそんなツールはな…
一昨日に考えたことです。 CRC16の計算に、こういうインターフェイスを設計した。class ICrc16 { public: virtual ~ICrc16() = 0 {} virtual void ProcessBit(bool val) = 0; virtual void ProcessByte(char val) = 0; virtual void ProcessBlock(char* ptr,…
Boost.Spirit.Qiはパーサー作成のライブラリです。 このライブラリの説明書に、主に文字列の解析で説明した。 ほかの型も解析できると思うが、今試した。int型の解析器で練習してた。いろいろの問題に会ったが最後にできた。まず、基本のパーサーを作る。Qi…
動的配列を作るとき、普段でnewとかmallocとか使う。 それはヒープからメモリブロックを取得するのです。 小さいメモリブロックを取得する時、性能的にスタックから取得より低いと思う。スタックからメモリブロックの取得は、allocaと言う関数がありますが、…
昨日言ったこと。 自分で書いた計算の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…
mbstate_t state;と書いたよね。それじゃだめです。 よくみると、このmbstate_tはただのintです。 構造関数がありません。 ローカル変数なので初期化しなければならない。 おかしい変換結果になるよ。 だからmbstate_t state = 0;と書けばいい。デフォルトの…
最近、jubeat analyzerの譜面からyubiosiの譜面への変換機を作った。 その中に、文字列コードの問題に会った。jubeat analyzerの譜面は、Shift-JISコードのテキストファイルだ。 私の使っているOSは中国語のだ。だから読み込んだ文字列は化けになる。ネッ…
特に理由もなく、突然自作allocatorをSTLコンテナ、文字列で試したいです。STLで、デフォルトのstd::allocatorがある。vectorを使う時、allocatorを指定しなかったらそれを使う。 VC2010のSTLのvectorヘーダに、こういうコードがある template<class _Ty, class _Ax = allocator<_Ty> > class vecto</class>…
幾日の前に、私はboost::asioを遊んでた。こういうコードを書いた #include #include #include #include using std::cout; using std::endl; using namespace boost; using namespace boost::asio;io_service ioserv; mutex m; volatile int c = 0;void add(…
静的正規表現ライブラリーのboost::xpressiveを、今日はじめてVC7.1で使った。 前にVC9で正しく動ける as_xpr("class") などのコードは、コンパイルできなくなった。 原因は、as_xpr になった。 正しくのは as_xpr かなにか分からなかったが、 とりあえず as…