C++

EmacsでC++のnamespaceを挿入する.

他にもっと良い方法があるのかもしれませんが,EmacsでC++のnamespaceを挿入するelispを書いてみたら中々良かったので,誰かの役に立つかもしれないし載せておきます. (defun insert-namespace (name) "Insert namespace" (interactive "sname : ") (insert…

Protocol Buffersで大きなモデルを読み込む

最近,モデルの読み書きには Protocol Buffersを使っている.複雑な構造を持つデータを扱ってそれを読み書きするようなプログラムを書くときに一番ダルいI/Oを書かなくて済むのと,バイナリで保存してくれるので記憶容量も少なくて済むところが良い.普通に…

boostのiostreamsを使ってgzipされたファイルを開く

以前,C++でプロセスをPstreamsを使って開く方法について日記を書いたが,PstreamsはGPLなので,自分のソフトを修正BSDで公開したい場合には色々と面倒なのかなと思っており(全然問題ないのかもだが),常々他の方法,特に標準ライブラリ(もしくはそれに近…

C/C++でマイク入力

waveファイルをプログラムで扱う方法は結構簡単に調べられるが,マイクからデータを取得する方法はあんまり情報がない.音声認識プログラムをOnlineで動かすためにマイクからの音声入力を行う必要があったので,ネットで頑張って調べた.結論だけ言うと,Uni…

reallocにやられた

割り当てたメモリ領域のサイズを変更することができるreallocでやられた.reallocでは,再割り当てするメモリ領域のサイズが従来のサイズよりも小さい場合にはメモリ位置は変化しないと思い込んでいたが,いかなる場合でもメモリ位置が変化することがあるよ…

継承ってすばらしい

継承って素晴らしい,仮想関数美しい異なったフォーマットのデータを読み込むときに継承を使うとプログラムが綺麗に書ける 最近は専ら音声認識プログラムを作成していてブログに書くネタがない↑のプログラムの方はどんどん完成度が上がってきて,ある程度精…