[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: [MD:7296] WINVER は明示的に定義すべき?
- X-ml-count: 7297
- Subject: Re: [MD:7296] WINVER は明示的に定義すべき?
- From: Shun-ichi GOTO <gotoh@xxxxxxxxxxx>
- Date: Fri, 28 Apr 2006 10:41:42 +0900 (JST)
- X-mailer: Mew version 2.2 on Emacs 22.0 / Mule 5.0 (SAKAKI)
結論からいうと、わりと賛成です。
>>>>> On Thu, 27 Apr 2006 22:32:01 +0900,
>>>>> 三好 == MIYOSHI Masanori wrote,
三好> WINVER を Meadow 側で明示的に定義すべきでしょうか?
三好> [meadow-develop: 4657] でも議論されたのですが、はっきりしないまま
三好> で終わったので再度議論しましょう。
三好> WINVER に対する私の理解は以下の通りです。
三好> (1) WINVER は、作成しようとしている実行形式が実行可能なプラットフォー
三好> ム(OS)を決定する。
三好> (2) コンパイル環境によって WINVER のデフォルト値は異なる。実行環境に
三好> は関係ない。
三好> 以下、これが正しいとして話を進めます。
三好さんが考えてる事は、以下のページでの内容と同じっぽいですね。
http://homepage1.nifty.com/kazubon/progdoc/tclock/oldwin.html
WINVER の使い方は間違ってないだろうと思います。
WINVERを古くするというのは、ヘッダ定義レベルで自身に制約を課してコンパイ
ラの補助を得るというのが目的であり、自分自身で使用できるAPIを選択して使う
分にはWINVERを古くするのは必須ではないだろうと自分では理解しています。
正しいところは知らないですが。
言い替えるとWINVER を定義することは、古いVisualStudio(というかSDK)を使い
続けている状況をヘッダレベルでエミュレートする(知らないふりをする)みたい
なものだと思ってます。
で、古いWindows (win95, etc)でも使えるAPIを自分で責任を持って使ったとして、
それはMeadow でのやりかたに相当しますが、WINVER が新しい状態でコンパイル
したことで害を生じるかという件については、私は(やってないので)経験がなく、
また、そういう記事は目に入って来た覚えもありませんです。
三好> (1)を考えると、WINVER に 0x0400(Windows95) を明示的に指定すべきか
三好> なと思います。Meadow は Window95 以降をサポートすることになってい
三好> るからです。
上述のように定義しないとダメという事はないと思っていますが、コンパイラの
補助が得られるという点で、定義するのがよいように私も思います。
emacs コードにおいて、それを定義する事でどれほどの修正を要するかは試して
見ないと。その結果にもよるでしょうけど、結構すごい結果になりそうな...
あと、cygwin/mingw 方面ではWINVER は無いにしても相当する何かがあるのか気
になる所。Win32 API set を示す番号はあっても良さそうに思うのですが、
Microsoft がその当たりをきっちりと定義していなさそうなので無理かもな。
--- Regards,
Shun-ichi Goto <gotoh@xxxxxxxxxxx>
R&D Group, TAIYO Corp., Tokyo, JAPAN