3

Windows 2008 R2サーバー(サーバーコアインストール)では、wow64は必須コンポーネントではなくなりました

64ビットアプリケーションと同じソースコードを使用して32ビットアプリケーションをコンパイルできます(あちこちにいくつかのifdefがあります)。

32 + 64ビットアプリケーションが純粋な32ビットWindowsと64ビットのみのWindowsで実行されるように、両方のバージョンのアプリを1つの実行可能ファイルに入れるツールはありますか?

パッカー自体は32ビットまたは64ビットになるため、パッカーについては説明していません。

4

1 に答える 1

6

いいえ。EXEのヘッダーは、EXEに含まれるコードでサポートされているプロセッサアーキテクチャでマークされています。DUMPBIN.EXE-HEADERSを使用して探索します。

EXEは、「マシン」タイプを次のように報告します:x86:0x14C x64:0x8664 ARM:0x1C4

アプリをデプロイする場合は、x86用のバージョン、x64用のバージョン(ARMは後でWin8に付属)をビルドし、アプリをインストールするマシンのアーキテクチャを動的に調べることができるセットアップパッケージ(MSI)を作成します、およびアプリの一方または両方を配置します。これは、たとえば、Adobeが最新のFlashプレーヤーのダウンロードでFlashx86とFlashx64を配布している方法です。

真にユニバーサルなバイナリを構築する場合は、.NETで構築し、「任意の」CPUをターゲットとしてマークします。その後、アプリはマシンのアーキテクチャ(またはアドインコンポーネントの場合はホスティングプロセス)にJITされます。

于 2011-10-07T21:58:05.867 に答える