Windows SDK 7.1 を入れている PC に Visual Studio 2012 Express for Desktop を入れたら、Windows SDK 7.1 のリンカで LNK1123 エラーが出るようになってしまった。VC2010 SP1 はインストールしていないのだが、「Windows SDK 7.1 用 Microsoft Visual C++ 2010 Service Pack 1 コンパイラ更新プログラム」をインストールしたところ、正しく動作するようになった。
JIS キーボードの記号の配列は ASCII コードが基本になっているが、US キーボードはASCII コードとは関連がない。US キーボードの配列は何が元になっているのだろうと思っていたが、タイプライタが元になっているらしい。ロジカルペアリングとタイプライタペアリングという用語があるそうだ。
Windows7 で SUA を試してみた。「UNIX互換環境を実現するSUAを利用する − @IT」を参考に環境構築。Cygwin などと fork() の速度 (forks/sec) の比較をしてみた。
OS, CPU | Cygwin | SUA | Ubuntu 12.04 64bit on VMware Player 4.0 |
---|---|---|---|
Win7 32bit, Core i5-520M 2.4GHz | 30 | 145 | - |
Win7 32bit, Core i5-2400 3.1GHz | 50 | 245 | 300 |
Win7 64bit, Core i5-2410M 2.3GHz | 15 | - | - |
SUA は Cygwin の約5倍の fork 速度が出ている。しかし、Ubuntu は SUA よりもさらに速い。条件が異なるので正確な比較はできないが、Cygwin は OS が 64bit だと遅くなるようである。
いつの間にか Cygwin の公式パッケージに mosh が入っていた。自分の環境では 1.2.2-1 は、実行すると Hangup と表示されて動作しなかったが、1.2.2-2 は動作した。