[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [MD:6879] Re: r3899 - trunk/src



> # なんか話がかみ合ってないかも?

 まぁいいんじゃないでしょうか^^;

> その際に目的の関数がない場合は「関数xxxがxxx.dllに見つかりません」とかいった

あぁ. 確かにそういう感じですね. "序数xxがみつかりません"というのは
た別の話か.

> SDKを更新してもGetProcAddress()は必要です。
> なので、SDK更新はMUSTではありません。

 ということですね.

> >  とはいうもののその一方で 1つの関数を使うのに数万行の include で副
> > 作用の心配をするくらいなら10行程度自分で追加するほうが心労も実際の
> > トラブルも少ないと思っている自分がいます:-p
> 

> なんの副作用ですか?
> windows.hをインクルードするかしないかで変わってしまうようなこと
> はそもそもかなりシビアな、あるいはトリッキーなことをする場合がほ
> とんどかと思います。

 たとえば今回は MOUSE_WHEELなんたらという Meadow が自前で定義して
いるらしいマクロが, Windows.h ものになったために UINT_MAX を要求さ
れて... というわけで #undef していたわけです. まぁかわいいほう?

 昔は MAX(), MIN() なんかが微妙に実装が違ってトラぶってたりとかし
た覚えがあります. Borland C/MS-DOS とかの時代かな..

> 定数定義などは増えてはいますが、変わってはいないはずですので、
> 新しい機能を使用しない限りにおいて、古いシステムでも動くバイナリが
> 作れるはずです。

 これは同じソースを新しいSDKでコンパイルする場合ですね. もともと呼
んでいなかったヘッダファイルを読み込んだときはこれとは別の話だと思
いますがこれはこれでそうだと思います.

> 今回インクルードファイルに頼らずに別途定義をする(ことを正当化する)理由は
> 古い開発環境(MSVC6)での定義不足な場合でもコンパイルできるようにする、
> という理由でしょう。

 はい.

-- 
ほりぐちきょうたろう