0

私は推測する

  1. Win32 API
  2. MFC
  3. 。ネット
  4. Java(管理もされています)

Windowsアプリケーションを作成する「唯一の」方法です。 Winアプリを構築する方法が他にあるかどうかを教えてください

マネージド環境.NETまたはJavaの場合。アプリケーションは、バージョンに関係なく、すべてのオペレーティングシステムで実行されます。フレームワークのバージョン(api)の変更のみを考慮します。

今Win32api/mfcに来ると、これらのapiはまだ下位互換性があると思います。したがって、アプリケーションがWindowsXP用に構築されている場合。Vista用に別バージョンをリリースし、WINDOWS7用に別バージョンをリリースする必要があります。

なんで?そのwindowsxp32ビットアプリケーションの場合。Vista32ビットおよびWindows7でも動作するはずです。右?新しいOSがリリースされたときに(Windows 7)、なぜ彼らは別のバージョンをリリースしなければならないのですか?一部のxpアプリがwin7で実行されないのはなぜですか。

わかった。新しいバージョンがリリースされると仮定します。彼らがする必要があるのは、この新しいwin7用に/上で同じソースコードをコンパイルすることだけですよね?では、なぜ人々はソフトウェアのアップグレードにそれほど時間がかかるのでしょうか。

したがって、ソフトウェアはすべてのxp、vista、win7で実行されますが、問題は特にハードウェアドライバーで重大です。新しいOSには新しいバージョンが必要です。なんでそうなの?

4

3 に答える 3

3

あなたの質問には2つのサブ質問があるようです。私は最初のものだけに取り組んでいます:

  1. Win32 API
  2. MFC
  3. 。ネット
  4. Java(管理もされています)

Windowsアプリケーションを作成する「唯一の」方法です。Winアプリを構築する方法が他にあるかどうかを教えてください

他の多くのプラットフォームや言語を見逃している可能性があります。私はそれらすべてを知っているとは言いませんが、頭のてっぺんから、PythonでWindowsアプリケーションを作成できるpy2exeを思い出します。実際、最終的にはWin32 APIに変換される可能性がありますが、それは.NETとJVM(Windowsの場合)でも同様に行われます。

サイトからの引用: " py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation."

編集


実際、これを試してみてください-Google「<言語名>を実行する」。ほとんどの言語、少なくとも人気のある言語には、Windows実行可能ファイルにコンパイルする何らかのF/OSSプロジェクトが背後にあるようです。

于 2009-11-04T04:50:38.610 に答える
2

ソフトウェアの性質によって異なります。

XPを対象とするソフトウェアをVista/Win7用にアップグレードする必要がある最大の理由の1つは、UACを取り巻くセキュリティの問題です。たとえば、古いXPソフトウェアの多くは、Program Filesディレクトリやその他の特定の場所にあるデータファイルに書き込みますが、セキュリティの強化がないとVistaでは機能しません。プロテクトモードIEと相互作用する場合は、プロテクトモードの問題に対処する必要があります。

また、人々はあなたのソフトウェアが新しいオペレーティングシステムの機能を利用することを望んでいます。たとえば、テーマやAeroスキンを使用すると、ソフトウェアのルックアンドフィールがシステム上の他のアプリケーションと一貫したものになります。

于 2009-11-02T23:27:10.063 に答える
1
  1. Win32 APIは、常に下位互換性があるとは限りません。
  2. 通常、ドライバーコードは、新機能を利用するために変更する必要があります
  3. 新機能を使用するWin32コードは、新機能を利用するために変更する必要があります
  4. 古いものを修理するには時間とお金がかかります。人々に新しいものを買わせることを試みることができます。
  5. 動作しないソフトウェアの多くが、以前のバージョンのOSで非APIエントリポイントを使用したり、バージョン文字列を具体的にチェックしたり、管理者権限に依存したりしたことが原因である場合でも、驚かないでしょう。
于 2009-11-02T23:24:19.540 に答える