Microsoft Visual Studio 2008 を使用して、Windows 用の 64 ビット科学計算アプリケーション (信号処理) の作成を開始する予定です。開発プラットフォームに関する限り、何を用意すればよいですか?
32 ビット開発との違いは何ですか? 私が既に持っている 32 ビット バージョンの移植の問題は何ですか?
ご想像のとおり、私は一般的な方向性を探しています。すべての指針をいただければ幸いです。:)
前もって感謝します..
Microsoft Visual Studio 2008 を使用して、Windows 用の 64 ビット科学計算アプリケーション (信号処理) の作成を開始する予定です。開発プラットフォームに関する限り、何を用意すればよいですか?
32 ビット開発との違いは何ですか? 私が既に持っている 32 ビット バージョンの移植の問題は何ですか?
ご想像のとおり、私は一般的な方向性を探しています。すべての指針をいただければ幸いです。:)
前もって感謝します..
Visual Studio 2008 をインストールするときは、64 ビット コンパイラとツールをインストールするボックスにチェックを入れるように注意してください。
次に、32 ビットから 64 ビットへの移行に関するガイドについて、次の記事を参照できます。
ANY CPU オプションを使用してコードをコンパイルする限り、マネージ コード (.NET) 開発に関する限り、32 ビットと 64 ビットでの開発は同じです。したがって、マシン上で開発されたすべてのコードは、32 ビットと 64 ビットの両方のプラットフォームで問題なく動作します。
ネイティブ C++ 開発を行っている場合は、特定のプラットフォームに従ってコンパイルし、2 回コンパイルする必要がある場合があります (1 回は でx86
、もう 1 回は でx64
)。
まず、Windows 64ビットがエミュレーションモードWOW64で64ビットと32ビットの両方を実行できることを知っておく必要があるため、それを許可するか、「純粋な」64ビットのみに関心があるかを判断する必要があります。
両方のモードで実行する場合は、次の点を考慮に入れる必要があります。
アプリケーションがレジストリを使用する場合、HKLMのようないくつかのキーには2つのエントリがあることを考慮する必要があります。たとえば、64ビットプログラムの場合はHKEY_LOCAL_MACHINE \ SOFTWARE、32ビットプログラムの場合はHKEY_LOCAL_MACHINE \ SOFTWARE\Wow6432Nodeです。これと同様に、アプリケーションでSystem32フォルダーを使用する場合は、64ビット用のSystem32と32ビット用のSysWOW64の2つのフォルダーを処理する必要があります。
管理コードを使用している場合は、アプリケーションの構築方法を選択する必要があります。アンマネージコードへの相互運用呼び出しを行う場合は、2回ビルドする必要があります。1つはプラットフォームをx64に設定し、もう1つはプラットフォームをx86に設定します。アンマネージコードへの呼び出しがない場合は、AnyCPUプラットフォームとしてビルドできます。
そして明らかにもっと多くのメモリ(すべてのポインタは4バイトではなく8バイトを取ります)
最も重要な違いは、ポインターのサイズです。32 ビットでは 32 ビット、64 では 64 ビットです。int と long は同じままです。
この質問に対するすべての回答が役に立ちます。