お世話になっております。
今、作成しているソフトはWINXPとWIN2000での動作保障させる必要があるのですが
プログラムの作成環境はWINXPです。
同じNT系なのでなんとなく大丈夫なのかなぁとは思っておりますが
いざ実行してみたら致命的な不具合が起きた!XPでは動くが2000では動かない!
という事は避けたいと思っています。
そこでお聞きしたい事は
2000とXPにおけるVCプログラムで互換性を取るために注意すべき点というものはあるの
でしょうか?
例えば、WINAPIのXXX関数はXPのみで2000ではサポートしていないとか
2000は実行形式がXPとはまったく違うので実行ファイルには互換性がないなど・・・
質問がOSの違いという漠然としたもので申し訳ないのですが
なにかアドバイス等ありましたらよろしくお願い致します。
動作環境::VC++6.0/SP5/WinXp,Win2000
XP HomeってNT系でしたっけ?
勘違いだったらごめんなさい。
XPの何?
> 例えば、WINAPIのXXX関数はXPのみで2000ではサポートしていないとか
可能性はあります。
MSDNで調べてみるとよいでしょう。
> XP HomeってNT系でしたっけ?
Home EditionもNT系ですよ。
MSDN見ても,
95/98/ME
と
NT/2000/XP
で分けられていますし。
プロフェッショナルエディションです。
XPはNTをベースにして作成されたWIN2000の後継機種と認識しております。
(多分ホームエディションも同じです)
NTの名残かどうかわかりませんがプロフェッショナルエディションでは
下のようなフォルダもあります。(ホームエディションとはOSのディレクトリ構成が違
ったと思ったのでないのかもしれませんが・・・)
C:\Program Files\Windows NT
なにで見たのか覚えていないのですけど
WinXpから採用されたCOM・DCOMに変わる技術さえ使用しなければ
Win2000でも動作可能と言うのがあったはずです
アセンブラが絡んでいる場合は、プロフェッショナルエディションと
ホームエディションの意識が必要なようですけど
Xpも2000も両方存在するホームとプロフェッショナルの違いは
シングルプロセッササポートか、マルチプロセッササポートかの違い
だったはずですけど
お返事が遅れました・・・
>>MSDNで調べてみるとよいでしょう。
そうですね、この手法をとってみました。
少々時間がかかりましたがすべての関数がMSDNでサポートされていることを確認出来ま
した。
とりあえずは一安心です!
>>WinXpから採用されたCOM・DCOMに変わる技術さえ使用しなければ
マイクロソフト系のHPをいろいろ回ってみましたが
残念ながらその記述は見つけることが出来ませんでした>_<
ですがとりあえずXPから導入されたCOM技術について調べてみたところ
こちらもいまいち明確な解説をしているサイトは無かったのですが
とりあえず自分のプログラムでは使用していないということだけ分かりました。
お二人とも非常に参考になりました。
ありがとうございます。