« 2005年10月 | トップページ | 2006年1月 »

2005年11月

2005年11月23日 (水曜日)

Linux パーティションが WinXP で表示されてしまう…

自宅の PC(ノート) は、 Debian Sarge と Windows XP のデュアルブートなんだけど、いつからか(?) Windows 側で Linux の ext3 パーティションが勝手に Z: ドライブとしてマウントされてしまうようになっていた。しかも、この Z: ドライブのアイコンを選択すると「フォーマットする?」などと、恐ろしい事を聞いてくる。
節操のある大人ならまだしも、この PC は、 3 歳の娘がアンパンマンやドラえもんのサイトをブラウズするのに使っており、急に不安になったので、 Windows でドライブをアンマウントする方法を調べてみた。

まず Windows (XPだけ?) の標準コマンド FSUTIL を使って、

FSUTIL VOLUME DISMOUNT Z:

…と、やると、「認識可能なファイルシステムではありません」と言われる。「んなら、マウントすな!」と怒りつつ別の方法を探している内、アンマウントではなく、ドライブを隠す方法というのを発見して妥協する事にした。…で、試してみると…確かに消えた :-)
方法というのは、例えば:

マイコンピュータのドライブを非表示にする
http://arena.nikkeibp.co.jp/tec/winxp/20050112/110512/

に書いてある。自分の場合は Z: ドライブだけを隠したかったので、件のレジストリ値を 1 << (26-1) = 0x2000000 と入力して、再起動した。

逆に、 ext3 パーティションを Windows から通常のドライブのようにマウントする場合は:

Ext2 Installable File System For Windows
http://www.fs-driver.org/index.html

と、いうツールを使っている。だがこれも、システムワイドにマウントしてしまうようなので、マウントしたドライブは前述の方法で隠している。あと、このツールをインストールすると、元々の問題だった Z: ドライブも内容を表示してくれる。(フォーマットする?とは聞かれない)
因みに、 Windows 側からのライトは怖くてやってない ^^;;

| | コメント (0) | トラックバック (0)

2005年11月21日 (月曜日)

penny

obu2 さんの日記で思い出して探してみました。
随分前に、2ヶ月程アメリカ出張した際のモノです。
コインが入ってた袋は、ユニバーサルスタジオで JURASSIC PARK THE RIDE に乗った時にかぶったポンチョが入ってたモノらしいです。(かぶらんと、ビショ濡れになるので ^^;;)

一応、実物大の写真(各1.8M程)は、コチラ:
http://carz.air-nifty.com/sowhat/temp/RIMG0033.JPG
http://carz.air-nifty.com/sowhat/temp/RIMG0036.JPG

| | コメント (0)

2005年11月18日 (金曜日)

VS2005 EE を VC++ ToolKit 2003 と Platform SDK 2003 で使う

先に書いたように、 MS が無料配布を開始した Visual Studio 2005 Express Edition を Symbian OS 向け開発で使用出来ないかと思っていたが、どうもダメらしいという話を聞き諦めかけていたところに、デバッガはオッケーという話に喜んで、また少し試してみた。

河邊さんによると、どうも Visual C++ 2005 Express Edition をそのまま Symbian OS の SDK と一緒に使うと、リンクでこけるとの事。自分は、これまでココに解説されているような無償で入手可能なコマンドラインツールでビルドを行っていたので、 VC++ 2005 のデバッガだけ使えれば、それでよかったんだけど、 VC++ 2005 の IDE からこれらコマンドラインツールを使うようにすれば、取敢えずビルド通るんじゃないの…?と、考えてゴニョゴニョやってたら、一応出来たみたい。

行った手順は次の通り:

まず前提として、上記コマンドラインツールを使って、 Symbian OS のプロジェクトがビルド出来る状態にある事。

その状態で、 Visual C++ 2005 Express Edition をインストール。
ココの Step 1, 3, 4 に従って、設定を行うが、 Step 3 で追加するパスを、上記コマンドラインツールのパスとする。
例えば、 VC++ Toolkit 2003, Platform SDK 2003 のインストール先が、それぞれ下記だったとすると、

C:\Program Files\Microsoft Visual C++ Toolkit 2003\
C:\Program Files\Microsoft SDK\

これらのパス以下の bin, include, lib ディレクトリを、それぞれ対応する箇所に追加してやる。自分は、 VC++ Toolkit のパスが一番上に、その次に Platform SDK のパスが来るように設定した。

後は、 通常通り…

bldmake bldfiles
abld makefile vc6

と、 Symbian OS の SDK から VC6 用のプロジェクトを作成して、 VC++ 2005 から開いてやれば、勝手にそれ用に変換してくれる。

最後に、今、開いたプロジェクトのプロパティを開き、下記のように設定する。

    Configuration Properties
        C/C++
            General
                Use UNICODE Response Files → No に。
            Code Generation
                Enable C++ Exceptions → No に。
            Advanced
                Error Reporting → Default に。
        Linker
            General
                Use UNICODE Response Files → No に。
            Manifest File
                Generate Manifest → No に。
            Advanced
                Error Reporting → Default に。

以上で、取敢えずビルドが出来るはず。
ただ、 VC++ Toolkit 2003 に含まれるコンパイラ等がサポートしていないオプションを IDE が指定したり、 2003 から 2005 で、オプション省略時のデフォルト動作が違っている機能がありそうだったりで、ちょっとキモチ悪い気もするが、自分は殆どコマンドラインでビルドするからいいか…と思ったりということで。

そういえば、もう日本語版も入手出来るみたい。ベータ2って書いてあるが。

| | コメント (0) | トラックバック (0)

2005年11月15日 (火曜日)

unresolved external symbol __chkstk

ビルド時にタイトルのようなリンクエラーが出た場合、原因は、エラー発生元の関数で規定サイズ以上のスタックを使用している事である。

…なので、この問題への正しい対処は、シンボル __chkstk を含むオブジェクト/ライブラリを探す事ではなく、該当関数でのスタック使用量を(自動変数を減らしたり、ヒープからメモリを確保するなどして)減らすか、その関数の呼び出し元スレッドのスタックサイズを増やしてあげることである。

ここで疑問なのは、リンカは、ソースコード内でスレッド生成時に引数として渡すスタックサイズを知り得るのか…?また、ライブラリのビルド時に本エラーが発生した場合はどう対処するのか(どのスレッドから関数が呼び出されるか不明なので)…?

…と、いう事で悩み中…。
恐らく、デフォルトのスタックサイズ 8K バイトが適用されている気はするが、それを変える事は出来ないのか…?

| | コメント (2) | トラックバック (0)

VS 2005 は Symbian OS の SDK とは使用出来ないらしい

自分がモタモタしている間に、河邊さんがさっそく試して報告して下さっている。
Symbian OS の SDK は、 VS 2005 をサポートしていないらしく、併用出来ないとの事。 Nokia のヒトが言ってるのだから間違いないのだろう。
VS 2005 Express Edition 上で C++ での開発を行うには、 Platform SDK が必要だが、これまでも自分は、 Symbian OS のエミュレータ(WINS)向けビルドで Platform SDK を使用していたので、きっと問題ないのだろう…と思っていたが、どうもそうではないらしい(?)。

| | コメント (0) | トラックバック (0)

2005年11月 9日 (水曜日)

ポケットメイト

ここに書くのは久し鰤です ^^;;

トミーのポケットメイト
http://www.tomy.co.jp/pocketmate/

が、復刻されるそうです。
パッケージも値段もそのまま!
小学生の時、これの将棋を持ち歩いていたのを思い出しました。
何か最近、 30 代のオトナをターゲットにした、この手の復刻モノが多くて乗せられてる気もしますが…買っちゃいそうです(笑)。
実売価格 300 円台みたいだし。

| | コメント (0)

Visual Studio 2005 Express Edition

/.J の記事その他によると、 MS が Visual Studio 2005 の Express Edition を無償配布するらしい。
MFC や ATL は含まれないらしいけど、殆ど Symbian OS 向け開発や wxWidgets と一緒にしか使用していない自分には無問題なので、試してみるつもり。

| | コメント (2) | トラックバック (1)

2005年11月 2日 (水曜日)

\f なのか \n なのか?

Symbian OS で開発(C++)をしていると、プログラム内で使用する改行コードが 2 種類あることに気付く。ひとつは見慣れた \n で、もうひとつは \f 。(そういえば、昔 Psion で遊んでいた OPL のソースの改行コードも \f だったので、 \f が Symbian OS 標準?)

例えば、 CEikEdWin コントロールで改行したければ \f を使えばよいが、 CEikLabel の場合は \n で改行する。(そもそも CEikLabel で改行するのがイレギュラーなのか?)

取敢えず、現状はトライ&エラーで目的を達成出来る方を使っているが、どういう経緯でそうなったのか…?どちらかが正しくて、どちらかは使用してはいけないのか…?

謎。

| | コメント (0) | トラックバック (0)

« 2005年10月 | トップページ | 2006年1月 »