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

VS2008でTclVFSをtcl.8.5.15に対応させる方法 (VS2012、tcl 8.6.8 追記)

不具合現象 Tcl 8.5 系の現在の最新版である Tcl 8.5.15 と TclVFS 20080503 を VS2008 Express Edition 32bitモードでビルドしようとしたところ、下記エラーが出てしまいました。 <Tcl 8.5.15 + TclVFS 20080503 32bit モードでのビルドエラー内容> =====…

std::lower_bound、std::upper_boundの関係をイラスト化してみた

ソート済配列に対して2分探索をしたり、昇順(または降順)の状態を維持したまま配列に要素を挿入したいといった場合、C++ではstd::lower_bound や std::upper_boundを活用すると便利ですが、それぞれが返すイテレータがどこを指すのか理解が曖昧だったので、…

Base16kエンコーダ/デコーダ

文字列にバイナリを埋め込む方法としてbase64が良く使われていますが、 バイナリを埋め込んだ文字列の 転送/格納にUTF16を使用する場合、 base64文字列をUTF16で扱うことになるため、上位8ビットが丸々0になり、 転送/格納効率が非常に悪くなります。 UTF16…

luaで、luaの関数を呼ぶC++の関数をluaから呼んでみた

引数2個、戻り値1個のlua関数を引数にとり、 実行されると与えられた引数の関数に5,15を入れて呼び出し、 得られた戻り値を2倍したものを返り値とするlua関数をC++で作成しました。 大変ややこしいですが、C++ => LUAの呼び出し、 LUA => C++ の呼び出しを …

BLTのgraphのmarkerでグラフにお絵かき

コピーレフトのないオープンソースで、何か図を書いた後emfファイルに書き出す、 この要件を満たすものを探したところ、以前少し触れたBLTが使えることがわかりましたので、 やり方をメモします。 BLTのgraphを使うと、グラフをtcltkのウィンドウ上に描画で…