2007年1月16日

[Namazu-devel-ja 1435] Re: Windows Vistaでの動作確認

寺西です。

Tadamasa Teranishi wrote:
>
> MSVCRT.DLL の __getmainargs をテストするプログラムを書いたところ、
> 今回と同じ振る舞いをすることを確認しました。
>
> 単純に Vista のバグなんではないかと思うですが、トリキーな

> __getmainargs を使っている MinGw 側の問題ということになるのかも
> しれません。

その後、MinGWにはlibmsvcr71.a他、インポートライブラリが用意されてる
ことが分かりました。このため -lmsvcr71をつければ今回の不具合は回避
できることがわかりました。

MSVCRT のインポートライブラリには、

libmsvcr70.a
libmsvcr70d.a
libmsvcr71.a
libmsvcr71d.a
libmsvcr80.a
libmsvcr80d.a

が用意されています。
とりあえず libmscr71.a を使ったところ単純なプログラムでは問題が
解決しました。

しかし、namazu.exe の場合は

C:\> objdump -p namazu.exe | grep dll
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: msvcr71.dll
DLL Name: msvcrt.dll

のように msvcrt.dll もリンクされてしまっています。
gcc のspecsファイルを書き換えても msvcrt.dll がリンクされてしまいます。

両方リンクされていると、spawn で(メモリ関係の)不具合が生じるようで、
実行途中で落ちちゃってます。

# もうちょっとというところで、アウトでした。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E

_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja

投稿者 xml-rpc : 2007年1月16日 13:05
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/52865
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。