SUA (Subsystem for UNIX-based Applications) on Vista

Windows Vista上でSUAを使ってみる。(これ使えるのってUltimateだけ?)
昔はSFUと呼ばれていたもので、Windows上でPOSIXサブシステムを動作させるもの。この辺を参考にさせてもらう。

  • Vistaの「プログラムと機能」の設定で「UNIX ベース アプリケーション用サブシステム」のところにチェックを入れ機能を「有効化」
  • SDKをダウンロード(上記の有効化を済ますと、スタート→すべてのプログラムに「UNIXベースアプリケーション用サブシステム」というのが現れる。その中にダウンロード先のリンクがある)

SDKのインストール時には、カスタムインストールにしないと、gcc等のツールがインストールされないので注意。僕は忘れていて、後で追加インストールした。

で、せっかくだからとPARDSが動作するか試す。
コンパイルは一発では通らなかったけど、ちょっと修正すれば通る。(えーと、struct semunがすでに定義されていのに2重定義になるとか(ifdefで切り分けていたが、うまくいかなかった)、struct timezoneがないとか、bzip2関係でfdopenが無いといわれるとかそれくらい。)サンプル等も動作する。
が、スピードは速くならない…どうも複数のプロセスが別のCPUに割り当てられていない感じ。なんで?

[追記] プロセッサ数が取れてなかっただけでした orz(そういえばこれはシステム依存だった)。 とりあえず、2を返すようにしたら、ちゃんと速くなりました。すばらしい。

XAMLプログラミング

の本を読了。ざっとだけどね。
せっかくなので、Visual Studioでちょっとだけ試してみる。本曰く、

  • .NET Framework 3.0ランタイム (僕の場合はVistaなので不要)
  • Visual Studio 2005 (僕はインストール済み。Express Editioin でもいいらしい)
  • Windows SDK
  • Visual Studio 2005 Extension for .NET Framework 3.0 (WPFとか書いてあるやつ。最初間違えてWorkflowのやつを入れてしまった)

の順でインストールすれば良いらしい。順番に注意とのこと。

で、インストールがうまくいけば、プロジェクト作成からVisual C#.NET Framework 3.0を選べば、WPFのテンプレートが選択できる。

後は、普通のC#アプリを作るときと同様に、コントロールを貼り付けたりできる。

で、感想だが…

  • XAML + C# が HTML(+CSS) + JavaScriptに相当すると思えばいいのかな? XAMLだけでもCSSでできる程度の動的な処理が記述できる。
  • 3Dやらアニメーションやらはナイス。
  • xbapという形式にすることでWebブラウザで見ることができる。(…ってあれ、WPF/E(Silverlight)との関係は?Wikipediaによると"Silverlight and WPF only share the XAML presentation layer"らしいが…)
  • どうも、アプリケーションを作るときは、XAMLからC#のコードをVisual Studioが動的に作成して、リンクしているみたい。libgladeの場合は、XMLをプログラムから読み込むので、コンパイル後にUIを変更できるのに対して、こちらはコンパイル時にUIが決定してしまう。せっかくXML化したのに、利点がひとつ減ってしまっているような。

てなとこで。