VC2008 SP1 や VC2010 SP1 以降では、ソースファイルに以下の記述を追加することで、バイナリに UTF-8 で文字列を埋め込むことができるようになるそうだ。
#pragma execution_character_set("utf-8")
これを書かない場合は、ソースファイルを BOM 付き UTF-8 で保存しても、カレントコードページで埋め込まれてしまう。
ただし、どういう訳か VC2012 ではこの pragma が使えないらしい。そして、VC2013 では再び使えるようになるらしい。
しばらく前に、Cygwin の 64bit 版が正式にリリースされた。それに伴い、ftp サイトのディレクトリ構成が変更になり、setup.exe も、setup-x86.exe と setup-x86_64.exe の 2つが用意されるようになった。
fork 速度を測定してみたところ、64bit 版は 32bit 版に比べ、約2倍の速度が出ていた。以前の測定結果では、Win7 32bit に比べ、Win7 64bit での fork 速度がほぼ半分だったことから、本来の速度が出るようになったという方が正しいかもしれない。
測定結果の表を更新。Cygwin 32bit も 1.7.23 になって、以前より1割程度高速になっているようである。SUA は、LANG 環境変数の値がデフォルト (win-ja_JP.windows-932) だと遅い。LANG=C とすることで以下の値になった。
OS, CPU | Cygwin | Cygwin64 | SUA | Ubuntu 12.04 64bit on VMware Player 4.04 |
---|---|---|---|---|
Win7 32bit, Core i5-520M 2.4GHz | 32 | - | 145 | - |
Win7 32bit, Core i5-2400 3.1GHz | 56 | - | 245 | 200〜500 |
Win7 64bit, Core i5-2410M 2.3GHz | 17 | 31 | - | - |
Logicool の SetPoint をインストールしたら、横スクロールの動作がおかしくなるのに気づいて、少し調べてみた。
Firefox では、横スクロールは問題なく動くのだが、LibreOffice や、AviUtl のジャンプウィンドウ 横スクロール対応 Wrapper プラグインでは、ホイールを傾け続けても、1回しか横スクロールが行われない。
MSDN に従えば、WM_MOUSEHWHEEL を処理したら、0 を返せばよいのだが、SetPoint はバグってて、1 を返さないと WM_MOUSEWHEEL は、1回しか飛んでこないらしい。ひどい話だ。
VMware 上に Win98 環境でも作っておくかと思い、情報収集。起動ディスクをどうするかが問題だが、著作権的にアレなのを無視すれば、一番楽なのはネットから落としてくることか。