月別アーカイブ: 2008年5月

Ubuntu で C#

ふと気がついた。
C# を勉強しているんだから Ubuntu に Main Page – MonoDevelop を入れてみよう。
Linux ではどう動くか見てみたい。

Vista じゃないから遅いと思うけど…JAVA も死ぬほど遅いし。

一応書くと .NET Framuwork 技術基盤 CLI の Linux 実装の一つである。
追加と削除(Synaptic)に普通にあるのが怖い。

普通に日本語化されとりました、恐るべし。

あれ?C++ もコンパイルできるのだろうか。
試してみよう、VS と同じようにソリューションを作って雛形をとりあえず。

んでもってコンパイル…エラー。
何一つ詳細が出ない、VC++ のワケワカなのもイヤだが全く出ないのもどうかと。

Ubuntu日本語フォーラム / gccやbinutils, make のインストール

つまり Ubuntu デスクトップにははコンパイラもヘッダも入っていないってわけ…
make install の儀式をやらなくなったので気がつかなかった…
まあ気を取り直して…追加と削除に無いんですけど…

$ sudo apt-get install build-essential

と勘(ぅぉい!)でやってみたら普通にインストール完了。
見事 C/C++ はコンパイルできるようになりました。

普通に C/C++ 用の IDE としても使えるみたい、これは嬉しい。
何故もっと有名にならないの?

Linux のコンパイルは端末というイメージがあったので今まで無視していた。
だけどこんな使える IDE があるのなら少しやってみようかなと感じた。
Eclipse でできるのは知っているけど…遅いもん。

いよいよ肝心な C#。

今度は gmcs とやらが無いんかい…次回へ続く。

UNICODE にならん

pinvoke.net: StrCmpLogicalW (shlwapi)

むむっそうか、やっと自然順ソートで無限ループしてしまう問題が解決。

//[DllImport("shlwapi.dll")]  だけでは無限ループ
[DllImport("shlwapi.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]

ココが問題だったとは…なんつー解りにくい仕様。
C# 内部コードは UNICODE だから勝手に UNICODE で渡ると思い込んではダメだね。

やっとリストビュー部分の見た目だけが完成、ここまで長かったぞ!
ツリービューとアドレスバーで更に苦しみそうな気配。

Google のコードサーチで StringLogicalComparer なんてのも見つけたけどね。
C# コードのみで実装できるから魅力的なのであるが、こっちだと何故か順番が違う。

それにライセンスもイマイチ不明瞭だし、他人のコードを使うのは怖いというのもある。
今後ソースコードはすべてライセンス放棄で公開すると決めているのだから。

後 STL で作った IniFile8 クラスの C# 化もやっているんだが…
typedef の代わりは using で可能とかは検索では見つかったんだけーが…
コレでは型名として使えないようでインテリセンスに怒られまくり、まいった。

あぁ、ほとんど進まないまま連休が終わってしまった。
きっと Ubuntu が悪いんだ、又しても禁 Linux しなきゃいけないか?
でもブログアクセスのほとんどが Ubuntu ネタという現実はなんとも。

いっそ Ubuntu + Python + Qt とかに早めに移行したほうがよさげかも。
Palepoli が一段落したらやるつもりだったんだが…いつになるやら。