0

.NET アプリケーションは Windows 2008 x64 でどのように動作しますか? 32 ビット アプリケーションとしてですか、それとも 64 ビット アプリケーションとしてですか? 違いはありますか?

4

6 に答える 6

5

64 ビット アーキテクチャをターゲットにしている場合、または任意のプラットフォームで実行するように設定されている場合は、64 ビットで実行されます。

32 ビット アーキテクチャをターゲットにしている場合は、32 ビットで実行されます。ネイティブ DLL を使用する必要がある場合は、それが正しくターゲットされていることを確認する必要があります。

これは、64 ビット Vista と同じように機能します。

于 2009-03-13T20:11:16.043 に答える
2

「任意のマシンで実行するオプション」を指定してコンパイルすると、64 ビット アプリケーションとして実行されます。

「32 ビットとして実行」として強制的にコンパイルすると、x64 マシンで 32 ビット アプリとして実行されます。

于 2009-03-13T20:10:59.397 に答える
0

ASP.Net アプリの場合、Web アプリのアプリケーション プールで「32 ビット アプリを有効にする」ように IIS を構成すると、32 ビットがエミュレートされます。

最後の質問は「依存」です

于 2011-12-16T21:59:33.593 に答える
0

どのように構築したか、およびどのように構築する必要があったかによって異なります。:-) 特定のモデルを指定しなかった場合、アプリは x86 では 32 ビット、x64 では 64 ビットとして実行されます。これは一般的にあなたが望むものです。これに対する例外は、64 ビット システムで 32 ビット コードと相互運用している場合に発生します。たとえば、'int' が 32 ビットであることを期待する DLL を呼び出していて、それを 64 ビットで渡すと、事態は急速に悪化します。

于 2009-03-13T20:11:59.083 に答える
0

「任意の」プラットフォームをターゲットにコピーされた .net コード (プロジェクトのビルド構成を確認してください) は、IL から 64 ビット マシン コード命令にコンパイルされます。32bit を指定すると、32bit にコンパイルされてから、64bit OS で実行されている 32bit マシン コードであるかのように変換されます。

一部のライブラリでは、64 ビット コードにコンパイルすると互換性の問題が発生します。

編集: XNA は、具体的に 32 をターゲットにしたい場所の例です。これをチェックしてください: http://www.brianpeek.com/blog/archive/2007/11/13/x64-development-with-net.aspx

注: Int は、実行しているプラ​​ットフォームに関係なく int ですか? それじゃない?

于 2009-03-13T20:15:23.957 に答える
0

ここでの質問とそれに対する回答の後、アプリケーションを 64 ビットで実行できるようにするかどうかについてよく考えます。より成熟した 32 ビット JIT と比較して、64 ビット JIT は本当に制限されているようです。

于 2009-03-13T21:13:40.277 に答える